.class public Lcom/glympse/platform/common/ServerPost;
.super Ljava/lang/Object;
.source "ServerPost.java"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/glympse/platform/common/ServerPost$PostJob;,
        Lcom/glympse/platform/common/ServerPost$PostTimer;
    }
.end annotation


# static fields
.field protected static final POST_TIMER_INTERVAL:I = 0x1388


# instance fields
.field protected m_fPostWhenPossible:Z

.field protected m_fSendInitial:Z

.field protected m_fSentNewVersion:Z

.field protected m_lFailStartTime:J

.field public volatile m_lLastPostTime:J

.field protected m_lLastSmsTime:J

.field protected m_lLastSmsTimePost:J

.field protected m_listLocPoints:Lcom/glympse/platform/GVector$LocPoints;

.field protected m_listLocPointsPost:Lcom/glympse/platform/GVector$LocPoints;

.field protected m_nFailures:I

.field public volatile m_nLastPostResult:I

.field public m_nLatestBuild:I

.field public m_nMinimumBuild:I

.field protected m_nPostResultFlag:I

.field public m_nPostTimeInterval:I

.field protected m_oPostJob:Lcom/glympse/platform/common/ServerPost$PostJob;

.field protected m_oPostTimer:Lcom/glympse/platform/common/ServerPost$PostTimer;

.field public m_oTrackLocal:Lcom/glympse/platform/common/Track;

.field public m_strPassword:Ljava/lang/String;

.field public m_strSession:Ljava/lang/String;

.field public m_strSessionHost:Ljava/lang/String;

.field public m_strUpgradeUrl:Ljava/lang/String;

.field public m_strUserId:Ljava/lang/String;

.field protected m_strbldSentences:Ljava/lang/StringBuffer;

.field protected m_strbldSentencesPost:Ljava/lang/StringBuffer;


# direct methods
.method public constructor <init>()V
    .locals 5

    .prologue
    const-wide/16 v3, 0x0

    const/4 v2, 0x0

    const/4 v1, 0x0

    .line 52
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 25
    const/16 v0, 0x1388

    iput v0, p0, Lcom/glympse/platform/common/ServerPost;->m_nPostTimeInterval:I

    .line 26
    iput-object v2, p0, Lcom/glympse/platform/common/ServerPost;->m_oPostJob:Lcom/glympse/platform/common/ServerPost$PostJob;

    .line 27
    iput-object v2, p0, Lcom/glympse/platform/common/ServerPost;->m_oPostTimer:Lcom/glympse/platform/common/ServerPost$PostTimer;

    .line 28
    new-instance v0, Lcom/glympse/platform/GVector$LocPoints;

    invoke-direct {v0}, Lcom/glympse/platform/GVector$LocPoints;-><init>()V

    iput-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_listLocPoints:Lcom/glympse/platform/GVector$LocPoints;

    .line 29
    new-instance v0, Lcom/glympse/platform/GVector$LocPoints;

    invoke-direct {v0}, Lcom/glympse/platform/GVector$LocPoints;-><init>()V

    iput-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_listLocPointsPost:Lcom/glympse/platform/GVector$LocPoints;

    .line 30
    new-instance v0, Ljava/lang/StringBuffer;

    invoke-direct {v0}, Ljava/lang/StringBuffer;-><init>()V

    iput-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentences:Ljava/lang/StringBuffer;

    .line 31
    new-instance v0, Ljava/lang/StringBuffer;

    invoke-direct {v0}, Ljava/lang/StringBuffer;-><init>()V

    iput-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentencesPost:Ljava/lang/StringBuffer;

    .line 32
    iput-boolean v1, p0, Lcom/glympse/platform/common/ServerPost;->m_fPostWhenPossible:Z

    .line 33
    const/4 v0, 0x1

    iput-boolean v0, p0, Lcom/glympse/platform/common/ServerPost;->m_fSendInitial:Z

    .line 34
    iput v1, p0, Lcom/glympse/platform/common/ServerPost;->m_nPostResultFlag:I

    .line 35
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v0

    iget-object v0, v0, Lcom/glympse/platform/Platform;->m_oConfig:Lcom/glympse/platform/Config;

    invoke-virtual {v0}, Lcom/glympse/platform/Config;->GetGlympseUserId()Ljava/lang/String;

    move-result-object v0

    iput-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_strUserId:Ljava/lang/String;

    .line 36
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v0

    iget-object v0, v0, Lcom/glympse/platform/Platform;->m_oConfig:Lcom/glympse/platform/Config;

    invoke-virtual {v0}, Lcom/glympse/platform/Config;->GetGlympsePassword()Ljava/lang/String;

    move-result-object v0

    iput-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_strPassword:Ljava/lang/String;

    .line 37
    iput-object v2, p0, Lcom/glympse/platform/common/ServerPost;->m_strSession:Ljava/lang/String;

    .line 38
    iput-object v2, p0, Lcom/glympse/platform/common/ServerPost;->m_strSessionHost:Ljava/lang/String;

    .line 39
    new-instance v0, Lcom/glympse/platform/common/Track;

    invoke-direct {v0}, Lcom/glympse/platform/common/Track;-><init>()V

    iput-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_oTrackLocal:Lcom/glympse/platform/common/Track;

    .line 40
    iput v1, p0, Lcom/glympse/platform/common/ServerPost;->m_nMinimumBuild:I

    .line 41
    iput v1, p0, Lcom/glympse/platform/common/ServerPost;->m_nLatestBuild:I

    .line 42
    iput-object v2, p0, Lcom/glympse/platform/common/ServerPost;->m_strUpgradeUrl:Ljava/lang/String;

    .line 43
    iput-wide v3, p0, Lcom/glympse/platform/common/ServerPost;->m_lLastPostTime:J

    .line 44
    iput v1, p0, Lcom/glympse/platform/common/ServerPost;->m_nLastPostResult:I

    .line 45
    iput-wide v3, p0, Lcom/glympse/platform/common/ServerPost;->m_lLastSmsTime:J

    .line 46
    iput-wide v3, p0, Lcom/glympse/platform/common/ServerPost;->m_lLastSmsTimePost:J

    .line 47
    iput-boolean v1, p0, Lcom/glympse/platform/common/ServerPost;->m_fSentNewVersion:Z

    .line 48
    iput v1, p0, Lcom/glympse/platform/common/ServerPost;->m_nFailures:I

    .line 49
    iput-wide v3, p0, Lcom/glympse/platform/common/ServerPost;->m_lFailStartTime:J

    .line 54
    new-instance v0, Lcom/glympse/platform/common/ServerPost$PostJob;

    invoke-direct {v0, p0}, Lcom/glympse/platform/common/ServerPost$PostJob;-><init>(Lcom/glympse/platform/common/ServerPost;)V

    iput-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_oPostJob:Lcom/glympse/platform/common/ServerPost$PostJob;

    .line 55
    new-instance v0, Lcom/glympse/platform/common/ServerPost$PostTimer;

    invoke-direct {v0, p0}, Lcom/glympse/platform/common/ServerPost$PostTimer;-><init>(Lcom/glympse/platform/common/ServerPost;)V

    iput-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_oPostTimer:Lcom/glympse/platform/common/ServerPost$PostTimer;

    .line 56
    return-void
.end method


# virtual methods
.method public AddDeleteTicket(J)Z
    .locals 3
    .parameter "lTicketId"

    .prologue
    .line 436
    new-instance v1, Ljava/lang/StringBuilder;

    const-string v2, "DT,tid:"

    invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-static {p1, p2}, Lcom/glympse/platform/common/Helpers;->LongToBase32(J)Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, "\n"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    .line 439
    .local v0, str:Ljava/lang/String;
    iget-object v1, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentences:Ljava/lang/StringBuffer;

    monitor-enter v1

    .line 441
    :try_start_0
    iget-object v2, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentences:Ljava/lang/StringBuffer;

    invoke-virtual {v2, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    .line 439
    monitor-exit v1

    .line 444
    const/4 v1, 0x1

    return v1

    .line 439
    :catchall_0
    move-exception v2

    monitor-exit v1
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    throw v2
.end method

.method public AddDropFriend(Lcom/glympse/platform/common/User;)Z
    .locals 3
    .parameter "oUser"

    .prologue
    .line 152
    new-instance v1, Ljava/lang/StringBuilder;

    const-string v2, "DF,uid:\""

    invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    iget-object v2, p1, Lcom/glympse/platform/common/User;->m_strUserId:Ljava/lang/String;

    invoke-static {v2}, Lcom/glympse/platform/common/Helpers;->EncodeProtocolString(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, "\"\n"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    .line 155
    .local v0, str:Ljava/lang/String;
    iget-object v1, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentences:Ljava/lang/StringBuffer;

    monitor-enter v1

    .line 157
    :try_start_0
    iget-object v2, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentences:Ljava/lang/StringBuffer;

    invoke-virtual {v2, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    .line 155
    monitor-exit v1

    .line 160
    const/4 v1, 0x1

    return v1

    .line 155
    :catchall_0
    move-exception v2

    monitor-exit v1
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    throw v2
.end method

.method public AddGenerateTicket(Lcom/glympse/platform/common/Ticket;Ljava/lang/String;)Z
    .locals 12
    .parameter "oTicket"
    .parameter "strSource"

    .prologue
    const/4 v3, 0x7

    .line 178
    new-instance v0, Ljava/lang/StringBuilder;

    const-string v1, "GT,seq:"

    invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    iget v1, p1, Lcom/glympse/platform/common/Ticket;->m_nSequence:I

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, ",sts:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    iget-wide v5, p1, Lcom/glympse/platform/common/Ticket;->m_lStartTime:J

    invoke-virtual {v0, v5, v6}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, ",dur:"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    iget v1, p1, Lcom/glympse/platform/common/Ticket;->m_nDurationMs:I

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v10

    .line 181
    .local v10, str:Ljava/lang/String;
    invoke-virtual {p1}, Lcom/glympse/platform/common/Ticket;->HasLocation()Z

    move-result v0

    if-eqz v0, :cond_0

    .line 183
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-static {v10}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v1

    invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v1, ",mpt:\"("

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    .line 184
    iget-object v1, p1, Lcom/glympse/platform/common/Ticket;->m_oDestination:Lcom/glympse/platform/common/Place;

    iget-wide v5, v1, Lcom/glympse/platform/common/Place;->m_dLatitude:D

    invoke-static {v5, v6, v3}, Lcom/glympse/platform/common/Helpers;->DoubleToTrimmedStr(DI)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, ","

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    .line 185
    iget-object v1, p1, Lcom/glympse/platform/common/Ticket;->m_oDestination:Lcom/glympse/platform/common/Place;

    iget-wide v5, v1, Lcom/glympse/platform/common/Place;->m_dLongitude:D

    invoke-static {v5, v6, v3}, Lcom/glympse/platform/common/Helpers;->DoubleToTrimmedStr(DI)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, ")\""

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    .line 183
    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v10

    .line 189
    :cond_0
    iget-object v0, p1, Lcom/glympse/platform/common/Ticket;->m_oDestination:Lcom/glympse/platform/common/Place;

    if-eqz v0, :cond_1

    iget-object v0, p1, Lcom/glympse/platform/common/Ticket;->m_oDestination:Lcom/glympse/platform/common/Place;

    iget-object v0, v0, Lcom/glympse/platform/common/Place;->m_strName:Ljava/lang/String;

    invoke-static {v0}, Lcom/glympse/platform/common/Helpers;->IsEmpty(Ljava/lang/String;)Z

    move-result v0

    if-nez v0, :cond_1

    .line 191
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-static {v10}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v1

    invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v1, ",lbl:\""

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    iget-object v1, p1, Lcom/glympse/platform/common/Ticket;->m_oDestination:Lcom/glympse/platform/common/Place;

    iget-object v1, v1, Lcom/glympse/platform/common/Place;->m_strName:Ljava/lang/String;

    invoke-static {v1}, Lcom/glympse/platform/common/Helpers;->EncodeProtocolString(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, "\""

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v10

    .line 195
    :cond_1
    iget-object v0, p1, Lcom/glympse/platform/common/Ticket;->m_strMessage:Ljava/lang/String;

    invoke-static {v0}, Lcom/glympse/platform/common/Helpers;->IsEmpty(Ljava/lang/String;)Z

    move-result v0

    if-nez v0, :cond_2

    .line 197
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-static {v10}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v1

    invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v1, ",msg:\""

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    iget-object v1, p1, Lcom/glympse/platform/common/Ticket;->m_strMessage:Ljava/lang/String;

    invoke-static {v1}, Lcom/glympse/platform/common/Helpers;->EncodeProtocolString(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, "\""

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v10

    .line 200
    :cond_2
    invoke-static {p2}, Lcom/glympse/platform/common/Helpers;->IsEmpty(Ljava/lang/String;)Z

    move-result v0

    if-nez v0, :cond_3

    .line 202
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-static {v10}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v1

    invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v1, ",src:\""

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-static {p2}, Lcom/glympse/platform/common/Helpers;->EncodeProtocolString(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, "\""

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v10

    .line 206
    :cond_3
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-static {v10}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v1

    invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const/16 v1, 0xa

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v10

    .line 209
    iget-object v11, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentences:Ljava/lang/StringBuffer;

    monitor-enter v11

    .line 211
    :try_start_0
    iget-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentences:Ljava/lang/StringBuffer;

    invoke-virtual {v0, v10}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    .line 214
    iget-object v0, p1, Lcom/glympse/platform/common/Ticket;->m_listRecipients:Lcom/glympse/platform/GVector$Recipients;

    invoke-virtual {v0}, Lcom/glympse/platform/GVector$Recipients;->elements()Ljava/util/Enumeration;

    move-result-object v8

    .local v8, iter:Ljava/util/Enumeration;
    :goto_0
    invoke-interface {v8}, Ljava/util/Enumeration;->hasMoreElements()Z

    move-result v0

    if-nez v0, :cond_5

    .line 226
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v0

    iget-object v0, v0, Lcom/glympse/platform/Platform;->m_oConfig:Lcom/glympse/platform/Config;

    iget-boolean v0, v0, Lcom/glympse/platform/Config;->m_fShareMyLocation:Z

    if-eqz v0, :cond_4

    .line 227
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v0

    iget-object v0, v0, Lcom/glympse/platform/Platform;->m_oLocManager:Lcom/glympse/platform/LocManager;

    iget-object v0, v0, Lcom/glympse/platform/LocManager;->m_oLastLocPoint:Lcom/glympse/platform/common/LocPoint;

    invoke-virtual {v0}, Lcom/glympse/platform/common/LocPoint;->HasLocation()Z

    move-result v0

    if-eqz v0, :cond_4

    .line 229
    new-instance v4, Lcom/glympse/platform/common/LocPoint;

    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v0

    iget-object v0, v0, Lcom/glympse/platform/Platform;->m_oLocManager:Lcom/glympse/platform/LocManager;

    iget-object v0, v0, Lcom/glympse/platform/LocManager;->m_oLastLocPoint:Lcom/glympse/platform/common/LocPoint;

    invoke-direct {v4, v0}, Lcom/glympse/platform/common/LocPoint;-><init>(Lcom/glympse/platform/common/LocPoint;)V

    .line 230
    .local v4, oLocPoint:Lcom/glympse/platform/common/LocPoint;
    new-instance v2, Lcom/glympse/platform/common/GDateTime;

    iget-wide v0, p1, Lcom/glympse/platform/common/Ticket;->m_lStartTime:J

    invoke-direct {v2, v0, v1}, Lcom/glympse/platform/common/GDateTime;-><init>(J)V

    .line 231
    .local v2, oDateTimeCur:Lcom/glympse/platform/common/GDateTime;
    iget-object v1, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentences:Ljava/lang/StringBuffer;

    const/4 v3, 0x0

    const/4 v5, 0x0

    const/4 v6, 0x0

    const/4 v7, 0x0

    move-object v0, p0

    invoke-virtual/range {v0 .. v7}, Lcom/glympse/platform/common/ServerPost;->AddLocation(Ljava/lang/StringBuffer;Lcom/glympse/platform/common/GDateTime;ZLcom/glympse/platform/common/LocPoint;Lcom/glympse/platform/common/GDateTime;ZLcom/glympse/platform/common/LocPoint;)V

    .line 209
    .end local v2           #oDateTimeCur:Lcom/glympse/platform/common/GDateTime;
    .end local v4           #oLocPoint:Lcom/glympse/platform/common/LocPoint;
    :cond_4
    monitor-exit v11

    .line 235
    const/4 v0, 0x1

    return v0

    .line 216
    :cond_5
    invoke-interface {v8}, Ljava/util/Enumeration;->nextElement()Ljava/lang/Object;

    move-result-object v9

    check-cast v9, Lcom/glympse/platform/common/Recipient;

    .line 218
    .local v9, oRecipient:Lcom/glympse/platform/common/Recipient;
    invoke-virtual {p0, p1, v9}, Lcom/glympse/platform/common/ServerPost;->AddSendTicket(Lcom/glympse/platform/common/Ticket;Lcom/glympse/platform/common/Recipient;)Z

    goto :goto_0

    .line 209
    .end local v8           #iter:Ljava/util/Enumeration;
    .end local v9           #oRecipient:Lcom/glympse/platform/common/Recipient;
    :catchall_0
    move-exception v0

    monitor-exit v11
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    throw v0
.end method

.method protected AddLocation(Ljava/lang/StringBuffer;Lcom/glympse/platform/common/GDateTime;ZLcom/glympse/platform/common/LocPoint;Lcom/glympse/platform/common/GDateTime;ZLcom/glympse/platform/common/LocPoint;)V
    .locals 12
    .parameter "strbld"
    .parameter "oDateTime"
    .parameter "fTimeFixed"
    .parameter "oLocPoint"
    .parameter "oDateTimePrev"
    .parameter "fTimeFixedPrev"
    .parameter "oLocPointPrev"

    .prologue
    .line 1158
    if-eqz p5, :cond_2

    if-eqz p7, :cond_2

    const/4 v2, 0x1

    move v3, v2

    .line 1160
    .local v3, fPrev:Z
    :goto_0
    if-eqz v3, :cond_4

    move-object/from16 v0, p7

    iget v0, v0, Lcom/glympse/platform/common/LocPoint;->m_fltSpeedMetersPerSecond:F

    move v2, v0

    invoke-static {v2}, Ljava/lang/Float;->isNaN(F)Z

    move-result v2

    if-eqz v2, :cond_3

    const/high16 v2, 0x7fc0

    move v10, v2

    .line 1161
    .local v10, fltSpeedKnotsPrev:F
    :goto_1
    move-object/from16 v0, p4

    iget v0, v0, Lcom/glympse/platform/common/LocPoint;->m_fltSpeedMetersPerSecond:F

    move v2, v0

    invoke-static {v2}, Ljava/lang/Float;->isNaN(F)Z

    move-result v2

    if-eqz v2, :cond_5

    const/high16 v2, 0x7fc0

    move v9, v2

    .line 1164
    .local v9, fltSpeedKnots:F
    :goto_2
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v2

    iget-object v2, v2, Lcom/glympse/platform/Platform;->m_oConfig:Lcom/glympse/platform/Config;

    iget-boolean v2, v2, Lcom/glympse/platform/Config;->m_fShareSpeed:Z

    if-nez v2, :cond_0

    .line 1166
    const/high16 v9, 0x7fc0

    .line 1170
    :cond_0
    const/16 v2, 0x47

    invoke-virtual {p1, v2}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    .line 1171
    if-eqz v3, :cond_6

    move-object/from16 v0, p5

    iget v0, v0, Lcom/glympse/platform/common/GDateTime;->m_nSeconds:I

    move v2, v0

    :goto_3
    iget v4, p2, Lcom/glympse/platform/common/GDateTime;->m_nSeconds:I

    invoke-static {p1, v3, v2, v4}, Lcom/glympse/platform/common/Helpers;->AppendField(Ljava/lang/StringBuffer;ZII)V

    .line 1172
    if-eqz v3, :cond_7

    move-object/from16 v0, p7

    iget v0, v0, Lcom/glympse/platform/common/LocPoint;->m_fltBearingDegrees:F

    move v2, v0

    float-to-double v4, v2

    :goto_4
    move-object/from16 v0, p4

    iget v0, v0, Lcom/glympse/platform/common/LocPoint;->m_fltBearingDegrees:F

    move v2, v0

    float-to-double v6, v2

    const/4 v8, 0x0

    move-object v2, p1

    invoke-static/range {v2 .. v8}, Lcom/glympse/platform/common/Helpers;->AppendField(Ljava/lang/StringBuffer;ZDDI)V

    .line 1173
    if-eqz v3, :cond_8

    float-to-double v4, v10

    :goto_5
    float-to-double v6, v9

    const/4 v8, 0x1

    move-object v2, p1

    invoke-static/range {v2 .. v8}, Lcom/glympse/platform/common/Helpers;->AppendField(Ljava/lang/StringBuffer;ZDDI)V

    .line 1174
    if-eqz v3, :cond_9

    move-object/from16 v0, p7

    iget v0, v0, Lcom/glympse/platform/common/LocPoint;->m_fltAltitudeMeters:F

    move v2, v0

    float-to-double v4, v2

    :goto_6
    move-object/from16 v0, p4

    iget v0, v0, Lcom/glympse/platform/common/LocPoint;->m_fltAltitudeMeters:F

    move v2, v0

    float-to-double v6, v2

    const/4 v8, 0x1

    move-object v2, p1

    invoke-static/range {v2 .. v8}, Lcom/glympse/platform/common/Helpers;->AppendField(Ljava/lang/StringBuffer;ZDDI)V

    .line 1175
    if-eqz v3, :cond_a

    move-object/from16 v0, p7

    iget-wide v0, v0, Lcom/glympse/platform/common/LocPoint;->m_dLatitude:D

    move-wide v4, v0

    :goto_7
    move-object/from16 v0, p4

    iget-wide v0, v0, Lcom/glympse/platform/common/LocPoint;->m_dLatitude:D

    move-wide v6, v0

    const/4 v8, 0x7

    move-object v2, p1

    invoke-static/range {v2 .. v8}, Lcom/glympse/platform/common/Helpers;->AppendField(Ljava/lang/StringBuffer;ZDDI)V

    .line 1176
    if-eqz v3, :cond_b

    move-object/from16 v0, p7

    iget-wide v0, v0, Lcom/glympse/platform/common/LocPoint;->m_dLongitude:D

    move-wide v4, v0

    :goto_8
    move-object/from16 v0, p4

    iget-wide v0, v0, Lcom/glympse/platform/common/LocPoint;->m_dLongitude:D

    move-wide v6, v0

    const/4 v8, 0x7

    move-object v2, p1

    invoke-static/range {v2 .. v8}, Lcom/glympse/platform/common/Helpers;->AppendField(Ljava/lang/StringBuffer;ZDDI)V

    .line 1177
    if-eqz v3, :cond_c

    move-object/from16 v0, p5

    iget v0, v0, Lcom/glympse/platform/common/GDateTime;->m_nMilliseconds:I

    move v2, v0

    :goto_9
    iget v4, p2, Lcom/glympse/platform/common/GDateTime;->m_nMilliseconds:I

    invoke-static {p1, v3, v2, v4}, Lcom/glympse/platform/common/Helpers;->AppendField(Ljava/lang/StringBuffer;ZII)V

    .line 1178
    if-eqz v3, :cond_d

    move-object/from16 v0, p7

    iget v0, v0, Lcom/glympse/platform/common/LocPoint;->m_fltAccuracyMeters:F

    move v2, v0

    :goto_a
    move-object/from16 v0, p4

    iget v0, v0, Lcom/glympse/platform/common/LocPoint;->m_fltAccuracyMeters:F

    move v4, v0

    const/4 v5, 0x1

    invoke-static {p1, v3, v2, v4, v5}, Lcom/glympse/platform/common/Helpers;->AppendField(Ljava/lang/StringBuffer;ZFFI)V

    .line 1179
    const/high16 v2, -0x8000

    const/high16 v4, -0x8000

    invoke-static {p1, v3, v2, v4}, Lcom/glympse/platform/common/Helpers;->AppendField(Ljava/lang/StringBuffer;ZII)V

    .line 1180
    const/high16 v2, -0x8000

    const/high16 v4, -0x8000

    invoke-static {p1, v3, v2, v4}, Lcom/glympse/platform/common/Helpers;->AppendField(Ljava/lang/StringBuffer;ZII)V

    .line 1181
    if-eqz p6, :cond_e

    const/16 v2, 0x15

    :goto_b
    if-eqz p3, :cond_f

    const/16 v4, 0x15

    :goto_c
    invoke-static {p1, v3, v2, v4}, Lcom/glympse/platform/common/Helpers;->AppendField(Ljava/lang/StringBuffer;ZII)V

    .line 1182
    const/high16 v2, -0x8000

    const/high16 v4, -0x8000

    invoke-static {p1, v3, v2, v4}, Lcom/glympse/platform/common/Helpers;->AppendField(Ljava/lang/StringBuffer;ZII)V

    .line 1183
    if-eqz v3, :cond_10

    move-object/from16 v0, p5

    iget v0, v0, Lcom/glympse/platform/common/GDateTime;->m_nMinute:I

    move v2, v0

    :goto_d
    iget v4, p2, Lcom/glympse/platform/common/GDateTime;->m_nMinute:I

    invoke-static {p1, v3, v2, v4}, Lcom/glympse/platform/common/Helpers;->AppendField(Ljava/lang/StringBuffer;ZII)V

    .line 1184
    if-eqz v3, :cond_11

    move-object/from16 v0, p5

    iget v0, v0, Lcom/glympse/platform/common/GDateTime;->m_nHour:I

    move v2, v0

    :goto_e
    iget v4, p2, Lcom/glympse/platform/common/GDateTime;->m_nHour:I

    invoke-static {p1, v3, v2, v4}, Lcom/glympse/platform/common/Helpers;->AppendField(Ljava/lang/StringBuffer;ZII)V

    .line 1185
    if-eqz v3, :cond_12

    move-object/from16 v0, p5

    iget v0, v0, Lcom/glympse/platform/common/GDateTime;->m_nDay:I

    move v2, v0

    :goto_f
    iget v4, p2, Lcom/glympse/platform/common/GDateTime;->m_nDay:I

    invoke-static {p1, v3, v2, v4}, Lcom/glympse/platform/common/Helpers;->AppendField(Ljava/lang/StringBuffer;ZII)V

    .line 1186
    if-eqz v3, :cond_13

    move-object/from16 v0, p5

    iget v0, v0, Lcom/glympse/platform/common/GDateTime;->m_nMonth:I

    move v2, v0

    :goto_10
    iget v4, p2, Lcom/glympse/platform/common/GDateTime;->m_nMonth:I

    invoke-static {p1, v3, v2, v4}, Lcom/glympse/platform/common/Helpers;->AppendField(Ljava/lang/StringBuffer;ZII)V

    .line 1187
    if-eqz v3, :cond_14

    move-object/from16 v0, p5

    iget v0, v0, Lcom/glympse/platform/common/GDateTime;->m_nYear:I

    move v2, v0

    :goto_11
    iget v4, p2, Lcom/glympse/platform/common/GDateTime;->m_nYear:I

    invoke-static {p1, v3, v2, v4}, Lcom/glympse/platform/common/Helpers;->AppendField(Ljava/lang/StringBuffer;ZII)V

    .line 1190
    invoke-virtual {p1}, Ljava/lang/StringBuffer;->length()I

    move-result v2

    const/4 v3, 0x1

    sub-int v11, v2, v3

    .line 1191
    .end local v3           #fPrev:Z
    .local v11, nEnd:I
    :goto_12
    if-ltz v11, :cond_1

    invoke-virtual {p1, v11}, Ljava/lang/StringBuffer;->charAt(I)C

    move-result v2

    const/16 v3, 0x2c

    if-eq v2, v3, :cond_15

    .line 1197
    :cond_1
    add-int/lit8 v2, v11, 0x1

    invoke-virtual {p1, v2}, Ljava/lang/StringBuffer;->setLength(I)V

    .line 1198
    const/16 v2, 0xa

    invoke-virtual {p1, v2}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;

    .line 1199
    return-void

    .line 1158
    .end local v9           #fltSpeedKnots:F
    .end local v10           #fltSpeedKnotsPrev:F
    .end local v11           #nEnd:I
    :cond_2
    const/4 v2, 0x0

    move v3, v2

    goto/16 :goto_0

    .line 1160
    .restart local v3       #fPrev:Z
    :cond_3
    move-object/from16 v0, p7

    iget v0, v0, Lcom/glympse/platform/common/LocPoint;->m_fltSpeedMetersPerSecond:F

    move v2, v0

    const v4, 0x3ff8cfe5

    mul-float/2addr v2, v4

    move v10, v2

    goto/16 :goto_1

    :cond_4
    const/4 v2, 0x0

    move v10, v2

    goto/16 :goto_1

    .line 1161
    .restart local v10       #fltSpeedKnotsPrev:F
    :cond_5
    move-object/from16 v0, p4

    iget v0, v0, Lcom/glympse/platform/common/LocPoint;->m_fltSpeedMetersPerSecond:F

    move v2, v0

    const v4, 0x3ff8cfe5

    mul-float/2addr v2, v4

    move v9, v2

    goto/16 :goto_2

    .line 1171
    .restart local v9       #fltSpeedKnots:F
    :cond_6
    const/4 v2, 0x0

    goto/16 :goto_3

    .line 1172
    :cond_7
    const-wide/16 v4, 0x0

    goto/16 :goto_4

    .line 1173
    :cond_8
    const-wide/16 v4, 0x0

    goto/16 :goto_5

    .line 1174
    :cond_9
    const-wide/16 v4, 0x0

    goto/16 :goto_6

    .line 1175
    :cond_a
    const-wide/16 v4, 0x0

    goto/16 :goto_7

    .line 1176
    :cond_b
    const-wide/16 v4, 0x0

    goto/16 :goto_8

    .line 1177
    :cond_c
    const/4 v2, 0x0

    goto/16 :goto_9

    .line 1178
    :cond_d
    const/4 v2, 0x0

    goto/16 :goto_a

    .line 1181
    :cond_e
    const/16 v2, 0x16

    goto/16 :goto_b

    :cond_f
    const/16 v4, 0x16

    goto/16 :goto_c

    .line 1183
    :cond_10
    const/4 v2, 0x0

    goto/16 :goto_d

    .line 1184
    :cond_11
    const/4 v2, 0x0

    goto/16 :goto_e

    .line 1185
    :cond_12
    const/4 v2, 0x0

    goto/16 :goto_f

    .line 1186
    :cond_13
    const/4 v2, 0x0

    goto :goto_10

    .line 1187
    :cond_14
    const/4 v2, 0x0

    goto :goto_11

    .line 1193
    .end local v3           #fPrev:Z
    .restart local v11       #nEnd:I
    :cond_15
    add-int/lit8 v11, v11, -0x1

    goto :goto_12
.end method

.method public AddModifyProfile(Ljava/lang/String;)Z
    .locals 3
    .parameter "strDisplayName"

    .prologue
    .line 452
    new-instance v1, Ljava/lang/StringBuilder;

    const-string v2, "MP,dpn:\""

    invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-static {p1}, Lcom/glympse/platform/common/Helpers;->SafeStr(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v2

    invoke-static {v2}, Lcom/glympse/platform/common/Helpers;->EncodeProtocolString(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, "\"\n"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    .line 455
    .local v0, str:Ljava/lang/String;
    iget-object v1, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentences:Ljava/lang/StringBuffer;

    monitor-enter v1

    .line 457
    :try_start_0
    iget-object v2, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentences:Ljava/lang/StringBuffer;

    invoke-virtual {v2, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    .line 455
    monitor-exit v1

    .line 460
    const/4 v1, 0x1

    return v1

    .line 455
    :catchall_0
    move-exception v2

    monitor-exit v1
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    throw v2
.end method

.method public AddModifyTicket(Lcom/glympse/platform/common/Ticket;Lcom/glympse/platform/common/Ticket;)Z
    .locals 8
    .parameter "oTicketCur"
    .parameter "oTicketNew"

    .prologue
    const/4 v7, 0x7

    .line 360
    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "MT,tid:"

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    iget-wide v4, p1, Lcom/glympse/platform/common/Ticket;->m_lTicketId:J

    invoke-static {v4, v5}, Lcom/glympse/platform/common/Helpers;->LongToBase32(J)Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    .line 363
    .local v2, str:Ljava/lang/String;
    iget v3, p2, Lcom/glympse/platform/common/Ticket;->m_nDurationMs:I

    if-ltz v3, :cond_0

    .line 365
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v4

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v4, ",durrem:"

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    iget v4, p2, Lcom/glympse/platform/common/Ticket;->m_nDurationMs:I

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    .line 369
    :cond_0
    iget-object v3, p1, Lcom/glympse/platform/common/Ticket;->m_oDestination:Lcom/glympse/platform/common/Place;

    iget-wide v3, v3, Lcom/glympse/platform/common/Place;->m_dLatitude:D

    iget-object v5, p2, Lcom/glympse/platform/common/Ticket;->m_oDestination:Lcom/glympse/platform/common/Place;

    iget-wide v5, v5, Lcom/glympse/platform/common/Place;->m_dLatitude:D

    cmpl-double v3, v3, v5

    if-nez v3, :cond_1

    .line 370
    iget-object v3, p1, Lcom/glympse/platform/common/Ticket;->m_oDestination:Lcom/glympse/platform/common/Place;

    iget-wide v3, v3, Lcom/glympse/platform/common/Place;->m_dLongitude:D

    iget-object v5, p2, Lcom/glympse/platform/common/Ticket;->m_oDestination:Lcom/glympse/platform/common/Place;

    iget-wide v5, v5, Lcom/glympse/platform/common/Place;->m_dLongitude:D

    cmpl-double v3, v3, v5

    if-nez v3, :cond_1

    .line 371
    iget-object v3, p1, Lcom/glympse/platform/common/Ticket;->m_oDestination:Lcom/glympse/platform/common/Place;

    iget-object v3, v3, Lcom/glympse/platform/common/Place;->m_strName:Ljava/lang/String;

    invoke-static {v3}, Lcom/glympse/platform/common/Helpers;->SafeStr(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v3

    iget-object v4, p2, Lcom/glympse/platform/common/Ticket;->m_oDestination:Lcom/glympse/platform/common/Place;

    iget-object v4, v4, Lcom/glympse/platform/common/Place;->m_strName:Ljava/lang/String;

    invoke-static {v4}, Lcom/glympse/platform/common/Helpers;->SafeStr(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v3

    if-nez v3, :cond_2

    .line 373
    :cond_1
    iget-object v3, p2, Lcom/glympse/platform/common/Ticket;->m_oDestination:Lcom/glympse/platform/common/Place;

    invoke-virtual {v3}, Lcom/glympse/platform/common/Place;->HasLocation()Z

    move-result v3

    if-eqz v3, :cond_4

    .line 375
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v4

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v4, ",mpt:\"("

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    .line 376
    iget-object v4, p2, Lcom/glympse/platform/common/Ticket;->m_oDestination:Lcom/glympse/platform/common/Place;

    iget-wide v4, v4, Lcom/glympse/platform/common/Place;->m_dLatitude:D

    invoke-static {v4, v5, v7}, Lcom/glympse/platform/common/Helpers;->DoubleToTrimmedStr(DI)Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    const-string v4, ","

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    .line 377
    iget-object v4, p2, Lcom/glympse/platform/common/Ticket;->m_oDestination:Lcom/glympse/platform/common/Place;

    iget-wide v4, v4, Lcom/glympse/platform/common/Place;->m_dLongitude:D

    invoke-static {v4, v5, v7}, Lcom/glympse/platform/common/Helpers;->DoubleToTrimmedStr(DI)Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    const-string v4, ")\",lbl:\""

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    .line 378
    iget-object v4, p2, Lcom/glympse/platform/common/Ticket;->m_oDestination:Lcom/glympse/platform/common/Place;

    iget-object v4, v4, Lcom/glympse/platform/common/Place;->m_strName:Ljava/lang/String;

    invoke-static {v4}, Lcom/glympse/platform/common/Helpers;->SafeStr(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v4

    invoke-static {v4}, Lcom/glympse/platform/common/Helpers;->EncodeProtocolString(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v3

    const-string v4, "\""

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    .line 375
    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    .line 386
    :goto_0
    iget-object v3, p1, Lcom/glympse/platform/common/Ticket;->m_oDestination:Lcom/glympse/platform/common/Place;

    iget-object v4, p2, Lcom/glympse/platform/common/Ticket;->m_oDestination:Lcom/glympse/platform/common/Place;

    iget-wide v4, v4, Lcom/glympse/platform/common/Place;->m_dLatitude:D

    iput-wide v4, v3, Lcom/glympse/platform/common/Place;->m_dLatitude:D

    .line 387
    iget-object v3, p1, Lcom/glympse/platform/common/Ticket;->m_oDestination:Lcom/glympse/platform/common/Place;

    iget-object v4, p2, Lcom/glympse/platform/common/Ticket;->m_oDestination:Lcom/glympse/platform/common/Place;

    iget-wide v4, v4, Lcom/glympse/platform/common/Place;->m_dLongitude:D

    iput-wide v4, v3, Lcom/glympse/platform/common/Place;->m_dLongitude:D

    .line 388
    iget-object v3, p1, Lcom/glympse/platform/common/Ticket;->m_oDestination:Lcom/glympse/platform/common/Place;

    iget-object v4, p2, Lcom/glympse/platform/common/Ticket;->m_oDestination:Lcom/glympse/platform/common/Place;

    iget-object v4, v4, Lcom/glympse/platform/common/Place;->m_strName:Ljava/lang/String;

    iput-object v4, v3, Lcom/glympse/platform/common/Place;->m_strName:Ljava/lang/String;

    .line 391
    invoke-virtual {p1}, Lcom/glympse/platform/common/Ticket;->DestinationChanged()V

    .line 395
    :cond_2
    iget-object v3, p1, Lcom/glympse/platform/common/Ticket;->m_strMessage:Ljava/lang/String;

    invoke-static {v3}, Lcom/glympse/platform/common/Helpers;->SafeStr(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v3

    iget-object v4, p2, Lcom/glympse/platform/common/Ticket;->m_strMessage:Ljava/lang/String;

    invoke-static {v4}, Lcom/glympse/platform/common/Helpers;->SafeStr(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v3

    if-nez v3, :cond_3

    .line 397
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v4

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v4, ",msg:\""

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    iget-object v4, p2, Lcom/glympse/platform/common/Ticket;->m_strMessage:Ljava/lang/String;

    invoke-static {v4}, Lcom/glympse/platform/common/Helpers;->SafeStr(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v4

    invoke-static {v4}, Lcom/glympse/platform/common/Helpers;->EncodeProtocolString(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v3

    const-string v4, "\""

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    .line 400
    iget-object v3, p2, Lcom/glympse/platform/common/Ticket;->m_strMessage:Ljava/lang/String;

    iput-object v3, p1, Lcom/glympse/platform/common/Ticket;->m_strMessage:Ljava/lang/String;

    .line 404
    :cond_3
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v4

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const/16 v4, 0xa

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    .line 407
    iget-object v4, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentences:Ljava/lang/StringBuffer;

    monitor-enter v4

    .line 409
    :try_start_0
    iget-object v3, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentences:Ljava/lang/StringBuffer;

    invoke-virtual {v3, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    .line 412
    iget-object v3, p1, Lcom/glympse/platform/common/Ticket;->m_listRecipients:Lcom/glympse/platform/GVector$Recipients;

    invoke-virtual {v3}, Lcom/glympse/platform/GVector$Recipients;->size()I

    move-result v0

    .local v0, nRecipient:I
    :goto_1
    iget-object v3, p2, Lcom/glympse/platform/common/Ticket;->m_listRecipients:Lcom/glympse/platform/GVector$Recipients;

    invoke-virtual {v3}, Lcom/glympse/platform/GVector$Recipients;->size()I

    move-result v3

    if-lt v0, v3, :cond_5

    .line 407
    monitor-exit v4
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    .line 423
    const/4 v3, 0x1

    return v3

    .line 382
    .end local v0           #nRecipient:I
    :cond_4
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v4

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v4, ",mpt:\"\",lbl:\"\""

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    goto/16 :goto_0

    .line 415
    .restart local v0       #nRecipient:I
    :cond_5
    :try_start_1
    new-instance v1, Lcom/glympse/platform/common/Recipient;

    iget-object v3, p2, Lcom/glympse/platform/common/Ticket;->m_listRecipients:Lcom/glympse/platform/GVector$Recipients;

    invoke-virtual {v3, v0}, Lcom/glympse/platform/GVector$Recipients;->elementAt(I)Ljava/lang/Object;

    move-result-object v3

    check-cast v3, Lcom/glympse/platform/common/Recipient;

    invoke-direct {v1, v3}, Lcom/glympse/platform/common/Recipient;-><init>(Lcom/glympse/platform/common/Recipient;)V

    .line 416
    .local v1, oRecipientNew:Lcom/glympse/platform/common/Recipient;
    iget-object v3, p1, Lcom/glympse/platform/common/Ticket;->m_listRecipients:Lcom/glympse/platform/GVector$Recipients;

    invoke-virtual {v3, v1}, Lcom/glympse/platform/GVector$Recipients;->addElement(Ljava/lang/Object;)V

    .line 419
    invoke-virtual {p0, p1, v1}, Lcom/glympse/platform/common/ServerPost;->AddSendTicket(Lcom/glympse/platform/common/Ticket;Lcom/glympse/platform/common/Recipient;)Z

    .line 412
    add-int/lit8 v0, v0, 0x1

    goto :goto_1

    .line 407
    .end local v0           #nRecipient:I
    .end local v1           #oRecipientNew:Lcom/glympse/platform/common/Recipient;
    :catchall_0
    move-exception v3

    monitor-exit v4
    :try_end_1
    .catchall {:try_start_1 .. :try_end_1} :catchall_0

    throw v3
.end method

.method public AddReceivedSmsTickets(Lcom/glympse/platform/GVector$Longs;J)Z
    .locals 6
    .parameter
    .parameter "lLatestTime"

    .prologue
    .line 121
    .local p1, listTicketIds:Lcom/glympse/platform/GVector$Longs;,"Lcom/glympse/platform/GVector$Longs;"
    const/4 v0, 0x1

    .line 124
    .local v0, fResult:Z
    iget-object v3, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentences:Ljava/lang/StringBuffer;

    monitor-enter v3

    .line 129
    :try_start_0
    iget-wide v4, p0, Lcom/glympse/platform/common/ServerPost;->m_lLastSmsTime:J

    cmp-long v4, p2, v4

    if-lez v4, :cond_0

    .line 131
    iput-wide p2, p0, Lcom/glympse/platform/common/ServerPost;->m_lLastSmsTime:J

    .line 135
    :cond_0
    invoke-virtual {p1}, Lcom/glympse/platform/GVector$Longs;->elements()Ljava/util/Enumeration;

    move-result-object v1

    .local v1, iter:Ljava/util/Enumeration;
    :goto_0
    invoke-interface {v1}, Ljava/util/Enumeration;->hasMoreElements()Z

    move-result v4

    if-nez v4, :cond_1

    .line 124
    monitor-exit v3

    .line 144
    return v0

    .line 137
    :cond_1
    invoke-interface {v1}, Ljava/util/Enumeration;->nextElement()Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Ljava/lang/Long;

    .line 140
    .local v2, lTicketId:Ljava/lang/Long;
    invoke-virtual {v2}, Ljava/lang/Long;->longValue()J

    move-result-wide v4

    invoke-virtual {p0, v4, v5}, Lcom/glympse/platform/common/ServerPost;->AddReceivedTicket(J)Z

    move-result v4

    or-int/2addr v0, v4

    goto :goto_0

    .line 124
    .end local v1           #iter:Ljava/util/Enumeration;
    .end local v2           #lTicketId:Ljava/lang/Long;
    :catchall_0
    move-exception v4

    monitor-exit v3
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    throw v4
.end method

.method public AddReceivedTicket(J)Z
    .locals 3
    .parameter "lTicketId"

    .prologue
    .line 107
    new-instance v1, Ljava/lang/StringBuilder;

    const-string v2, "AT,tid:"

    invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-static {p1, p2}, Lcom/glympse/platform/common/Helpers;->LongToBase32(J)Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, "\n"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    .line 110
    .local v0, str:Ljava/lang/String;
    iget-object v1, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentences:Ljava/lang/StringBuffer;

    monitor-enter v1

    .line 112
    :try_start_0
    iget-object v2, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentences:Ljava/lang/StringBuffer;

    invoke-virtual {v2, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    .line 110
    monitor-exit v1

    .line 115
    const/4 v1, 0x1

    return v1

    .line 110
    :catchall_0
    move-exception v2

    monitor-exit v1
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    throw v2
.end method

.method public AddSendFeedback(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
    .locals 3
    .parameter "nRating"
    .parameter "strCategory"
    .parameter "strComment"
    .parameter "strEmail"

    .prologue
    .line 468
    const-string v0, "UF"

    .line 471
    .local v0, str:Ljava/lang/String;
    if-lez p1, :cond_0

    .line 473
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v2, ",rating:"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    .line 477
    :cond_0
    invoke-static {p2}, Lcom/glympse/platform/common/Helpers;->IsEmpty(Ljava/lang/String;)Z

    move-result v1

    if-nez v1, :cond_1

    .line 479
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v2, ",category:"

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    .line 483
    :cond_1
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-static {}, Lcom/glympse/platform/Platform;->GetDeviceInfo()Ljava/lang/String;

    move-result-object v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v2, " --- "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-static {p3}, Lcom/glympse/platform/common/Helpers;->SafeStr(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p3

    .line 486
    invoke-static {p3}, Lcom/glympse/platform/common/Helpers;->IsEmpty(Ljava/lang/String;)Z

    move-result v1

    if-nez v1, :cond_2

    .line 488
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v2, ",comment:\""

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-static {p3}, Lcom/glympse/platform/common/Helpers;->EncodeProtocolString(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, "\""

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    .line 492
    :cond_2
    invoke-static {p4}, Lcom/glympse/platform/common/Helpers;->IsEmpty(Ljava/lang/String;)Z

    move-result v1

    if-nez v1, :cond_3

    .line 494
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v2, ",email:\""

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-static {p4}, Lcom/glympse/platform/common/Helpers;->EncodeProtocolString(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, "\""

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    .line 498
    :cond_3
    new-instance v1, Ljava/lang/StringBuilder;

    invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const/16 v2, 0xa

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    .line 501
    iget-object v1, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentences:Ljava/lang/StringBuffer;

    monitor-enter v1

    .line 503
    :try_start_0
    iget-object v2, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentences:Ljava/lang/StringBuffer;

    invoke-virtual {v2, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    .line 501
    monitor-exit v1

    .line 506
    const/4 v1, 0x1

    return v1

    .line 501
    :catchall_0
    move-exception v2

    monitor-exit v1
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    throw v2
.end method

.method public AddSendTicket(Lcom/glympse/platform/common/Ticket;Lcom/glympse/platform/common/Recipient;)Z
    .locals 11
    .parameter "oTicket"
    .parameter "oRecipient"

    .prologue
    const/4 v10, 0x5

    const/4 v9, 0x4

    const/4 v8, 0x3

    const/4 v4, 0x0

    const/4 v7, 0x1

    .line 255
    iget v3, p2, Lcom/glympse/platform/common/Recipient;->m_eRecipientType:I

    if-ne v8, v3, :cond_0

    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v3

    invoke-virtual {v3}, Lcom/glympse/platform/Platform;->DoesSupportSmsSending()Z

    move-result v3

    if-nez v3, :cond_4

    .line 256
    :cond_0
    iget v3, p2, Lcom/glympse/platform/common/Recipient;->m_eRecipientType:I

    if-eq v9, v3, :cond_4

    .line 257
    iget v3, p2, Lcom/glympse/platform/common/Recipient;->m_eRecipientType:I

    if-eq v10, v3, :cond_4

    move v0, v4

    .line 259
    .local v0, fClientSend:Z
    :goto_0
    if-eqz v0, :cond_5

    move v3, v7

    :goto_1
    iput v3, p2, Lcom/glympse/platform/common/Recipient;->m_eSendState:I

    .line 264
    const-wide/16 v3, 0x0

    iget-wide v5, p1, Lcom/glympse/platform/common/Ticket;->m_lTicketId:J

    cmp-long v3, v3, v5

    if-eqz v3, :cond_7

    .line 266
    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "ST"

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    if-eqz v0, :cond_6

    const/16 v4, 0x43

    :goto_2
    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v3

    const-string v4, ",tid:"

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    iget-wide v4, p1, Lcom/glympse/platform/common/Ticket;->m_lTicketId:J

    invoke-static {v4, v5}, Lcom/glympse/platform/common/Helpers;->LongToBase32(J)Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    const-string v4, ",seq:"

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    iget v4, p1, Lcom/glympse/platform/common/Ticket;->m_nSequence:I

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    .line 273
    .local v1, str:Ljava/lang/String;
    :goto_3
    iget v3, p2, Lcom/glympse/platform/common/Recipient;->m_eRecipientType:I

    if-ne v9, v3, :cond_9

    .line 276
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v3

    iget-object v3, v3, Lcom/glympse/platform/Platform;->m_oConfig:Lcom/glympse/platform/Config;

    iget-object v3, v3, Lcom/glympse/platform/Config;->m_strTwitterName:Ljava/lang/String;

    iput-object v3, p2, Lcom/glympse/platform/common/Recipient;->m_strDisplayName:Ljava/lang/String;

    .line 279
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v4

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v4, ",tot:other,to:\"twitter\""

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    .line 320
    :cond_1
    :goto_4
    iget-object v3, p2, Lcom/glympse/platform/common/Recipient;->m_strDisplayName:Ljava/lang/String;

    invoke-static {v3}, Lcom/glympse/platform/common/Helpers;->IsEmpty(Ljava/lang/String;)Z

    move-result v3

    if-nez v3, :cond_2

    .line 322
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v4

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v4, ",dpn:\""

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    iget-object v4, p2, Lcom/glympse/platform/common/Recipient;->m_strDisplayName:Ljava/lang/String;

    invoke-static {v4}, Lcom/glympse/platform/common/Helpers;->EncodeProtocolString(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v3

    const-string v4, "\""

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    .line 326
    :cond_2
    iget-object v3, p1, Lcom/glympse/platform/common/Ticket;->m_strMessage:Ljava/lang/String;

    invoke-static {v3}, Lcom/glympse/platform/common/Helpers;->IsEmpty(Ljava/lang/String;)Z

    move-result v3

    if-nez v3, :cond_3

    .line 328
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v4

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v4, ",msg:\""

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    iget-object v4, p1, Lcom/glympse/platform/common/Ticket;->m_strMessage:Ljava/lang/String;

    invoke-static {v4}, Lcom/glympse/platform/common/Helpers;->EncodeProtocolString(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v3

    const-string v4, "\""

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    .line 332
    :cond_3
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v4

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const/16 v4, 0xa

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    .line 335
    iget-object v3, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentences:Ljava/lang/StringBuffer;

    monitor-enter v3

    .line 337
    :try_start_0
    iget-object v4, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentences:Ljava/lang/StringBuffer;

    invoke-virtual {v4, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    .line 335
    monitor-exit v3
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    .line 340
    return v7

    .end local v0           #fClientSend:Z
    .end local v1           #str:Ljava/lang/String;
    :cond_4
    move v0, v7

    .line 257
    goto/16 :goto_0

    .restart local v0       #fClientSend:Z
    :cond_5
    move v3, v4

    .line 259
    goto/16 :goto_1

    .line 266
    :cond_6
    const/16 v4, 0x53

    goto/16 :goto_2

    .line 270
    :cond_7
    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "ST"

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    if-eqz v0, :cond_8

    const/16 v4, 0x43

    :goto_5
    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v3

    const-string v4, ",tid:0,seq:"

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    iget v4, p1, Lcom/glympse/platform/common/Ticket;->m_nSequence:I

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    .restart local v1       #str:Ljava/lang/String;
    goto/16 :goto_3

    .end local v1           #str:Ljava/lang/String;
    :cond_8
    const/16 v4, 0x53

    goto :goto_5

    .line 281
    .restart local v1       #str:Ljava/lang/String;
    :cond_9
    iget v3, p2, Lcom/glympse/platform/common/Recipient;->m_eRecipientType:I

    if-ne v10, v3, :cond_a

    .line 284
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v3

    iget-object v3, v3, Lcom/glympse/platform/Platform;->m_oConfig:Lcom/glympse/platform/Config;

    iget-object v3, v3, Lcom/glympse/platform/Config;->m_strFacebookName:Ljava/lang/String;

    iput-object v3, p2, Lcom/glympse/platform/common/Recipient;->m_strDisplayName:Ljava/lang/String;

    .line 287
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v4

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v4, ",tot:other,to:\"facebook\""

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    goto/16 :goto_4

    .line 289
    :cond_a
    iget-object v3, p2, Lcom/glympse/platform/common/Recipient;->m_strTo:Ljava/lang/String;

    invoke-static {v3}, Lcom/glympse/platform/common/Helpers;->IsEmpty(Ljava/lang/String;)Z

    move-result v3

    if-nez v3, :cond_1

    .line 292
    iget v3, p2, Lcom/glympse/platform/common/Recipient;->m_eRecipientType:I

    if-ne v7, v3, :cond_b

    .line 294
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v4

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v4, ",tot:glympse,to:\""

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    iget-object v4, p2, Lcom/glympse/platform/common/Recipient;->m_strTo:Ljava/lang/String;

    invoke-static {v4}, Lcom/glympse/platform/common/Helpers;->EncodeProtocolString(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v3

    const-string v4, "\""

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    goto/16 :goto_4

    .line 296
    :cond_b
    const/4 v3, 0x2

    iget v4, p2, Lcom/glympse/platform/common/Recipient;->m_eRecipientType:I

    if-ne v3, v4, :cond_c

    .line 298
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v4

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v4, ",tot:email,to:\""

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    iget-object v4, p2, Lcom/glympse/platform/common/Recipient;->m_strTo:Ljava/lang/String;

    invoke-static {v4}, Lcom/glympse/platform/common/Helpers;->EncodeProtocolString(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v3

    const-string v4, "\""

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    goto/16 :goto_4

    .line 300
    :cond_c
    iget v3, p2, Lcom/glympse/platform/common/Recipient;->m_eRecipientType:I

    if-ne v8, v3, :cond_1

    .line 302
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v4

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v4, ",tot:sms,to:\""

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    iget-object v4, p2, Lcom/glympse/platform/common/Recipient;->m_strTo:Ljava/lang/String;

    invoke-static {v4}, Lcom/glympse/platform/common/Helpers;->EncodeProtocolString(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v3

    const-string v4, "\""

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    .line 305
    if-nez v0, :cond_1

    .line 308
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v3

    invoke-virtual {v3}, Lcom/glympse/platform/Platform;->GetFromNumber()Ljava/lang/String;

    move-result-object v2

    .line 309
    .local v2, strFrom:Ljava/lang/String;
    invoke-static {v2}, Lcom/glympse/platform/common/Helpers;->IsEmpty(Ljava/lang/String;)Z

    move-result v3

    if-nez v3, :cond_1

    .line 312
    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "SMS FROM: "

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v3}, Lcom/glympse/platform/common/Helpers;->Log(Ljava/lang/String;)V

    .line 313
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v4

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v4, ",from:\""

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-static {v2}, Lcom/glympse/platform/common/Helpers;->EncodeProtocolString(Ljava/lang/String;)Ljava/lang/StringBuffer;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v3

    const-string v4, "\""

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    goto/16 :goto_4

    .line 335
    .end local v2           #strFrom:Ljava/lang/String;
    :catchall_0
    move-exception v4

    :try_start_1
    monitor-exit v3
    :try_end_1
    .catchall {:try_start_1 .. :try_end_1} :catchall_0

    throw v4
.end method

.method protected ComputePostRate()V
    .locals 24

    .prologue
    .line 589
    move-object/from16 v0, p0

    iget v0, v0, Lcom/glympse/platform/common/ServerPost;->m_nFailures:I

    move/from16 v20, v0

    const/16 v21, 0x1e

    move/from16 v0, v20

    move/from16 v1, v21

    if-lt v0, v1, :cond_0

    const v20, 0xea60

    move/from16 v0, v20

    move-object/from16 v1, p0

    iput v0, v1, Lcom/glympse/platform/common/ServerPost;->m_nPostTimeInterval:I

    .line 691
    :goto_0
    return-void

    .line 590
    :cond_0
    move-object/from16 v0, p0

    iget v0, v0, Lcom/glympse/platform/common/ServerPost;->m_nFailures:I

    move/from16 v20, v0

    const/16 v21, 0x14

    move/from16 v0, v20

    move/from16 v1, v21

    if-lt v0, v1, :cond_1

    const/16 v20, 0x7530

    move/from16 v0, v20

    move-object/from16 v1, p0

    iput v0, v1, Lcom/glympse/platform/common/ServerPost;->m_nPostTimeInterval:I

    goto :goto_0

    .line 591
    :cond_1
    move-object/from16 v0, p0

    iget v0, v0, Lcom/glympse/platform/common/ServerPost;->m_nFailures:I

    move/from16 v20, v0

    const/16 v21, 0x5

    move/from16 v0, v20

    move/from16 v1, v21

    if-lt v0, v1, :cond_2

    const/16 v20, 0x1388

    move/from16 v0, v20

    move-object/from16 v1, p0

    iput v0, v1, Lcom/glympse/platform/common/ServerPost;->m_nPostTimeInterval:I

    goto :goto_0

    .line 592
    :cond_2
    move-object/from16 v0, p0

    iget v0, v0, Lcom/glympse/platform/common/ServerPost;->m_nFailures:I

    move/from16 v20, v0

    const/16 v21, 0x1

    move/from16 v0, v20

    move/from16 v1, v21

    if-lt v0, v1, :cond_3

    const/16 v20, 0x7d0

    move/from16 v0, v20

    move-object/from16 v1, p0

    iput v0, v1, Lcom/glympse/platform/common/ServerPost;->m_nPostTimeInterval:I

    goto :goto_0

    .line 595
    :cond_3
    const-wide/16 v15, 0x0

    .line 596
    .local v15, lLastViewerAction:J
    const-wide/16 v11, 0x0

    .line 599
    .local v11, lFastPostUntil:J
    invoke-static {}, Lcom/glympse/platform/common/CorrectedTime;->GetTime()J

    move-result-wide v7

    .line 602
    .local v7, lCurrent:J
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v20

    move-object/from16 v0, v20

    iget-object v0, v0, Lcom/glympse/platform/Platform;->m_oSentTickets:Lcom/glympse/platform/common/SentTicketList;

    move-object/from16 v20, v0

    move-object/from16 v0, v20

    iget-object v0, v0, Lcom/glympse/platform/common/SentTicketList;->m_listTickets:Lcom/glympse/platform/GVector$Tickets;

    move-object/from16 v20, v0

    invoke-virtual/range {v20 .. v20}, Lcom/glympse/platform/GVector$Tickets;->elements()Ljava/util/Enumeration;

    move-result-object v3

    .local v3, iterTicket:Ljava/util/Enumeration;
    :cond_4
    invoke-interface {v3}, Ljava/util/Enumeration;->hasMoreElements()Z

    move-result v20

    if-nez v20, :cond_7

    .line 651
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v20

    move-object/from16 v0, v20

    iget-boolean v0, v0, Lcom/glympse/platform/Platform;->m_fActive:Z

    move/from16 v20, v0

    if-eqz v20, :cond_6

    .line 653
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v20

    move-object/from16 v0, v20

    iget-object v0, v0, Lcom/glympse/platform/Platform;->m_oUserList:Lcom/glympse/platform/common/UserList;

    move-object/from16 v20, v0

    move-object/from16 v0, v20

    iget-object v0, v0, Lcom/glympse/platform/common/UserList;->m_listUsers:Lcom/glympse/platform/GVector$Users;

    move-object/from16 v20, v0

    invoke-virtual/range {v20 .. v20}, Lcom/glympse/platform/GVector$Users;->elements()Ljava/util/Enumeration;

    move-result-object v4

    .local v4, iterUser:Ljava/util/Enumeration;
    :cond_5
    :goto_1
    invoke-interface {v4}, Ljava/util/Enumeration;->hasMoreElements()Z

    move-result v20

    if-nez v20, :cond_b

    .line 690
    .end local v4           #iterUser:Ljava/util/Enumeration;
    :cond_6
    cmp-long v20, v11, v7

    if-ltz v20, :cond_d

    const/16 v20, 0x1388

    :goto_2
    move/from16 v0, v20

    move-object/from16 v1, p0

    iput v0, v1, Lcom/glympse/platform/common/ServerPost;->m_nPostTimeInterval:I

    goto/16 :goto_0

    .line 604
    :cond_7
    invoke-interface {v3}, Ljava/util/Enumeration;->nextElement()Ljava/lang/Object;

    move-result-object v18

    check-cast v18, Lcom/glympse/platform/common/Ticket;

    .line 609
    .local v18, oTicket:Lcom/glympse/platform/common/Ticket;
    move-object/from16 v0, v18

    iget-wide v0, v0, Lcom/glympse/platform/common/Ticket;->m_lExpireTime:J

    move-wide/from16 v20, v0

    const-wide/16 v22, 0x3a98

    add-long v9, v20, v22

    .line 612
    .local v9, lExpires:J
    cmp-long v20, v9, v7

    if-ltz v20, :cond_4

    .line 615
    move-object/from16 v0, v18

    iget-object v0, v0, Lcom/glympse/platform/common/Ticket;->m_listRecipients:Lcom/glympse/platform/GVector$Recipients;

    move-object/from16 v20, v0

    invoke-virtual/range {v20 .. v20}, Lcom/glympse/platform/GVector$Recipients;->elements()Ljava/util/Enumeration;

    move-result-object v2

    .local v2, iterRecipient:Ljava/util/Enumeration;
    :cond_8
    :goto_3
    invoke-interface {v2}, Ljava/util/Enumeration;->hasMoreElements()Z

    move-result v20

    if-eqz v20, :cond_4

    .line 617
    invoke-interface {v2}, Ljava/util/Enumeration;->nextElement()Ljava/lang/Object;

    move-result-object v17

    check-cast v17, Lcom/glympse/platform/common/Recipient;

    .line 623
    .local v17, oRecipient:Lcom/glympse/platform/common/Recipient;
    move-object/from16 v0, v17

    iget-wide v0, v0, Lcom/glympse/platform/common/Recipient;->m_lLastUseTime:J

    move-wide/from16 v20, v0

    move-object/from16 v0, v17

    iget-wide v0, v0, Lcom/glympse/platform/common/Recipient;->m_lCreatedTime:J

    move-wide/from16 v22, v0

    cmp-long v20, v20, v22

    if-lez v20, :cond_a

    .line 624
    move-object/from16 v0, v17

    iget-wide v0, v0, Lcom/glympse/platform/common/Recipient;->m_lLastUseTime:J

    move-wide/from16 v20, v0

    move-wide/from16 v5, v20

    .line 627
    .local v5, lAction:J
    :goto_4
    const-wide/16 v20, 0x0

    cmp-long v20, v20, v5

    if-eqz v20, :cond_8

    .line 630
    const-wide/32 v20, 0x2bf20

    add-long v13, v5, v20

    .line 634
    .local v13, lFastPostUntilTemp:J
    cmp-long v20, v13, v9

    if-lez v20, :cond_9

    .line 636
    move-wide v13, v9

    .line 640
    :cond_9
    cmp-long v20, v11, v13

    if-gez v20, :cond_8

    .line 642
    move-wide v11, v13

    .line 643
    move-wide v15, v5

    goto :goto_3

    .line 624
    .end local v5           #lAction:J
    .end local v13           #lFastPostUntilTemp:J
    :cond_a
    move-object/from16 v0, v17

    iget-wide v0, v0, Lcom/glympse/platform/common/Recipient;->m_lCreatedTime:J

    move-wide/from16 v20, v0

    move-wide/from16 v5, v20

    goto :goto_4

    .line 655
    .end local v2           #iterRecipient:Ljava/util/Enumeration;
    .end local v9           #lExpires:J
    .end local v17           #oRecipient:Lcom/glympse/platform/common/Recipient;
    .end local v18           #oTicket:Lcom/glympse/platform/common/Ticket;
    .restart local v4       #iterUser:Ljava/util/Enumeration;
    :cond_b
    invoke-interface {v4}, Ljava/util/Enumeration;->nextElement()Ljava/lang/Object;

    move-result-object v19

    check-cast v19, Lcom/glympse/platform/common/User;

    .line 658
    .local v19, oUser:Lcom/glympse/platform/common/User;
    invoke-virtual/range {v19 .. v19}, Lcom/glympse/platform/common/User;->IsSelf()Z

    move-result v20

    if-nez v20, :cond_5

    const-wide/16 v20, 0x0

    move-object/from16 v0, v19

    iget-object v0, v0, Lcom/glympse/platform/common/User;->m_oLocPoint:Lcom/glympse/platform/common/LocPoint;

    move-object/from16 v22, v0

    move-object/from16 v0, v22

    iget-wide v0, v0, Lcom/glympse/platform/common/LocPoint;->m_lLocationTime:J

    move-wide/from16 v22, v0

    cmp-long v20, v20, v22

    if-eqz v20, :cond_5

    .line 663
    move-object/from16 v0, v19

    iget-wide v0, v0, Lcom/glympse/platform/common/User;->m_lExpireTime:J

    move-wide/from16 v20, v0

    const-wide/16 v22, 0x3a98

    add-long v9, v20, v22

    .line 666
    .restart local v9       #lExpires:J
    cmp-long v20, v9, v7

    if-ltz v20, :cond_5

    .line 669
    move-object/from16 v0, v19

    iget-object v0, v0, Lcom/glympse/platform/common/User;->m_oLocPoint:Lcom/glympse/platform/common/LocPoint;

    move-object/from16 v20, v0

    move-object/from16 v0, v20

    iget-wide v0, v0, Lcom/glympse/platform/common/LocPoint;->m_lLocationTime:J

    move-wide/from16 v20, v0

    const-wide/32 v22, 0x2bf20

    add-long v13, v20, v22

    .line 673
    .restart local v13       #lFastPostUntilTemp:J
    cmp-long v20, v13, v9

    if-lez v20, :cond_c

    .line 675
    move-wide v13, v9

    .line 679
    :cond_c
    cmp-long v20, v11, v13

    if-gez v20, :cond_5

    .line 681
    move-wide v11, v13

    .line 682
    move-object/from16 v0, v19

    iget-object v0, v0, Lcom/glympse/platform/common/User;->m_oLocPoint:Lcom/glympse/platform/common/LocPoint;

    move-object/from16 v20, v0

    move-object/from16 v0, v20

    iget-wide v0, v0, Lcom/glympse/platform/common/LocPoint;->m_lLocationTime:J

    move-wide v15, v0

    goto/16 :goto_1

    .line 690
    .end local v4           #iterUser:Ljava/util/Enumeration;
    .end local v9           #lExpires:J
    .end local v13           #lFastPostUntilTemp:J
    .end local v19           #oUser:Lcom/glympse/platform/common/User;
    :cond_d
    const/16 v20, 0x7530

    goto/16 :goto_2
.end method

.method protected CreateAccount()V
    .locals 6

    .prologue
    .line 696
    const-string v2, "CreateAccount()"

    invoke-static {v2}, Lcom/glympse/platform/common/Helpers;->Log(Ljava/lang/String;)V

    .line 699
    const/4 v2, 0x2

    iput v2, p0, Lcom/glympse/platform/common/ServerPost;->m_nPostResultFlag:I

    .line 701
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v2

    invoke-virtual {v2}, Lcom/glympse/platform/Platform;->GetExtraPostData()Ljava/lang/String;

    move-result-object v1

    .line 702
    .local v1, strExtraPostData:Ljava/lang/String;
    invoke-static {v1}, Lcom/glympse/platform/common/Helpers;->IsEmpty(Ljava/lang/String;)Z

    move-result v2

    if-nez v2, :cond_0

    .line 706
    :try_start_0
    iget-object v2, p0, Lcom/glympse/platform/common/ServerPost;->m_oPostJob:Lcom/glympse/platform/common/ServerPost$PostJob;

    const-string v3, "UTF-8"

    invoke-virtual {v1, v3}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B

    move-result-object v3

    invoke-virtual {v2, v3}, Lcom/glympse/platform/common/ServerPost$PostJob;->SetPostData([B)V
    :try_end_0
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0

    .line 715
    :cond_0
    :goto_0
    iget-object v2, p0, Lcom/glympse/platform/common/ServerPost;->m_oPostJob:Lcom/glympse/platform/common/ServerPost$PostJob;

    new-instance v3, Ljava/lang/StringBuilder;

    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v4

    iget-object v4, v4, Lcom/glympse/platform/Platform;->m_oConfig:Lcom/glympse/platform/Config;

    const/4 v5, 0x1

    invoke-virtual {v4, v5}, Lcom/glympse/platform/Config;->GetBaseUrl(Z)Ljava/lang/String;

    move-result-object v4

    invoke-static {v4}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v4

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v4, "/CreateAccount/"

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    iput-object v3, v2, Lcom/glympse/platform/common/ServerPost$PostJob;->m_strUrl:Ljava/lang/String;

    .line 716
    iget-object v2, p0, Lcom/glympse/platform/common/ServerPost;->m_oPostJob:Lcom/glympse/platform/common/ServerPost$PostJob;

    const-string v3, "application/x-www-form-urlencoded"

    iput-object v3, v2, Lcom/glympse/platform/common/ServerPost$PostJob;->m_strEncoding:Ljava/lang/String;

    .line 717
    return-void

    .line 708
    :catch_0
    move-exception v2

    move-object v0, v2

    .line 710
    .local v0, e:Ljava/lang/Exception;
    invoke-static {v0}, Lcom/glympse/platform/common/Helpers;->Log(Ljava/lang/Throwable;)V

    goto :goto_0
.end method

.method public DoPost()V
    .locals 3

    .prologue
    .line 520
    iget-object v1, p0, Lcom/glympse/platform/common/ServerPost;->m_oPostJob:Lcom/glympse/platform/common/ServerPost$PostJob;

    invoke-virtual {v1}, Lcom/glympse/platform/common/ServerPost$PostJob;->IsQueued()Z

    move-result v1

    if-nez v1, :cond_0

    const/16 v1, 0x82

    iget v2, p0, Lcom/glympse/platform/common/ServerPost;->m_nMinimumBuild:I

    if-lt v1, v2, :cond_0

    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v1

    if-nez v1, :cond_1

    .line 553
    :cond_0
    :goto_0
    return-void

    .line 528
    :cond_1
    :try_start_0
    iget-object v1, p0, Lcom/glympse/platform/common/ServerPost;->m_oPostTimer:Lcom/glympse/platform/common/ServerPost$PostTimer;

    invoke-virtual {v1}, Lcom/glympse/platform/common/ServerPost$PostTimer;->Stop()V

    .line 531
    invoke-virtual {p0}, Lcom/glympse/platform/common/ServerPost;->HaveReasonToPost()Z

    move-result v1

    if-eqz v1, :cond_2

    .line 535
    const/4 v1, 0x0

    iput-boolean v1, p0, Lcom/glympse/platform/common/ServerPost;->m_fPostWhenPossible:Z

    .line 538
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v1

    iget-object v1, v1, Lcom/glympse/platform/Platform;->m_oJobQueue:Lcom/glympse/platform/common/JobQueue;

    iget-object v2, p0, Lcom/glympse/platform/common/ServerPost;->m_oPostJob:Lcom/glympse/platform/common/ServerPost$PostJob;

    invoke-virtual {v1, v2}, Lcom/glympse/platform/common/JobQueue;->AddJob(Lcom/glympse/platform/common/JobQueue$Job;)V
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0

    .line 551
    :cond_2
    invoke-virtual {p0}, Lcom/glympse/platform/common/ServerPost;->StartPostTimer()V

    goto :goto_0

    .line 541
    :catch_0
    move-exception v1

    move-object v0, v1

    .line 543
    .local v0, e:Ljava/lang/Exception;
    :try_start_1
    invoke-static {v0}, Lcom/glympse/platform/common/Helpers;->Log(Ljava/lang/Throwable;)V
    :try_end_1
    .catchall {:try_start_1 .. :try_end_1} :catchall_0

    .line 551
    invoke-virtual {p0}, Lcom/glympse/platform/common/ServerPost;->StartPostTimer()V

    goto :goto_0

    .line 546
    .end local v0           #e:Ljava/lang/Exception;
    :catchall_0
    move-exception v1

    .line 551
    invoke-virtual {p0}, Lcom/glympse/platform/common/ServerPost;->StartPostTimer()V

    .line 552
    throw v1
.end method

.method public GetFailureCount()I
    .locals 1

    .prologue
    .line 99
    iget v0, p0, Lcom/glympse/platform/common/ServerPost;->m_nFailures:I

    return v0
.end method

.method protected GetNameValueAsString(Lcom/glympse/platform/common/NameValueNode;)Ljava/lang/String;
    .locals 2
    .parameter "oNode"

    .prologue
    .line 1204
    iget-object v0, p1, Lcom/glympse/platform/common/NameValueNode;->m_strName:Ljava/lang/String;

    if-eqz v0, :cond_0

    iget-object v0, p1, Lcom/glympse/platform/common/NameValueNode;->m_strName:Ljava/lang/String;

    invoke-virtual {v0}, Ljava/lang/String;->length()I

    move-result v0

    if-lez v0, :cond_0

    .line 1206
    new-instance v0, Ljava/lang/StringBuilder;

    iget-object v1, p1, Lcom/glympse/platform/common/NameValueNode;->m_strName:Ljava/lang/String;

    invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v1

    invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v1, ":"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    iget-object v1, p1, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    .line 1208
    :goto_0
    return-object v0

    :cond_0
    iget-object v0, p1, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    goto :goto_0
.end method

.method protected GetSessionToken()V
    .locals 7

    .prologue
    .line 722
    const-string v3, "GetSessionToken()"

    invoke-static {v3}, Lcom/glympse/platform/common/Helpers;->Log(Ljava/lang/String;)V

    .line 725
    const/16 v3, 0x8

    iput v3, p0, Lcom/glympse/platform/common/ServerPost;->m_nPostResultFlag:I

    .line 728
    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "ID="

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    iget-object v4, p0, Lcom/glympse/platform/common/ServerPost;->m_strUserId:Ljava/lang/String;

    invoke-static {v4}, Lcom/glympse/platform/Platform;->UrlEncode(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    const-string v4, "&PASSWORD="

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    iget-object v4, p0, Lcom/glympse/platform/common/ServerPost;->m_strPassword:Ljava/lang/String;

    invoke-static {v4}, Lcom/glympse/platform/Platform;->UrlEncode(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    .line 730
    .local v2, strPost:Ljava/lang/String;
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v3

    invoke-virtual {v3}, Lcom/glympse/platform/Platform;->GetExtraPostData()Ljava/lang/String;

    move-result-object v1

    .line 731
    .local v1, strExtraPostData:Ljava/lang/String;
    invoke-static {v1}, Lcom/glympse/platform/common/Helpers;->IsEmpty(Ljava/lang/String;)Z

    move-result v3

    if-nez v3, :cond_0

    .line 733
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v4

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const/16 v4, 0x26

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    .line 737
    :cond_0
    iget-object v3, p0, Lcom/glympse/platform/common/ServerPost;->m_oPostJob:Lcom/glympse/platform/common/ServerPost$PostJob;

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v5

    iget-object v5, v5, Lcom/glympse/platform/Platform;->m_oConfig:Lcom/glympse/platform/Config;

    const/4 v6, 0x1

    invoke-virtual {v5, v6}, Lcom/glympse/platform/Config;->GetBaseUrl(Z)Ljava/lang/String;

    move-result-object v5

    invoke-static {v5}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v5

    invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v5, "/GetSessionToken/"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    iput-object v4, v3, Lcom/glympse/platform/common/ServerPost$PostJob;->m_strUrl:Ljava/lang/String;

    .line 741
    :try_start_0
    iget-object v3, p0, Lcom/glympse/platform/common/ServerPost;->m_oPostJob:Lcom/glympse/platform/common/ServerPost$PostJob;

    const-string v4, "UTF-8"

    invoke-virtual {v2, v4}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B

    move-result-object v4

    invoke-virtual {v3, v4}, Lcom/glympse/platform/common/ServerPost$PostJob;->SetPostData([B)V
    :try_end_0
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0

    .line 747
    :goto_0
    iget-object v3, p0, Lcom/glympse/platform/common/ServerPost;->m_oPostJob:Lcom/glympse/platform/common/ServerPost$PostJob;

    const-string v4, "application/x-www-form-urlencoded"

    iput-object v4, v3, Lcom/glympse/platform/common/ServerPost$PostJob;->m_strEncoding:Ljava/lang/String;

    .line 748
    return-void

    .line 743
    :catch_0
    move-exception v3

    move-object v0, v3

    .line 745
    .local v0, e:Ljava/lang/Exception;
    invoke-static {v0}, Lcom/glympse/platform/common/Helpers;->Log(Ljava/lang/Throwable;)V

    goto :goto_0
.end method

.method public GetSessionUrl()Ljava/lang/String;
    .locals 3

    .prologue
    .line 93
    iget-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_strSessionHost:Ljava/lang/String;

    invoke-static {v0}, Lcom/glympse/platform/common/Helpers;->IsEmpty(Ljava/lang/String;)Z

    move-result v0

    if-eqz v0, :cond_0

    new-instance v0, Ljava/lang/StringBuilder;

    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v1

    iget-object v1, v1, Lcom/glympse/platform/Platform;->m_oConfig:Lcom/glympse/platform/Config;

    const/4 v2, 0x0

    invoke-virtual {v1, v2}, Lcom/glympse/platform/Config;->GetBaseUrl(Z)Ljava/lang/String;

    move-result-object v1

    invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v1

    invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v1, "/"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    :goto_0
    return-object v0

    :cond_0
    iget-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_strSessionHost:Ljava/lang/String;

    goto :goto_0
.end method

.method public HaveReasonToPost()Z
    .locals 4

    .prologue
    .line 558
    iget-boolean v0, p0, Lcom/glympse/platform/common/ServerPost;->m_fPostWhenPossible:Z

    if-nez v0, :cond_1

    .line 559
    iget-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentences:Ljava/lang/StringBuffer;

    invoke-virtual {v0}, Ljava/lang/StringBuffer;->length()I

    move-result v0

    if-gtz v0, :cond_1

    .line 560
    iget-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_listLocPoints:Lcom/glympse/platform/GVector$LocPoints;

    invoke-virtual {v0}, Lcom/glympse/platform/GVector$LocPoints;->isEmpty()Z

    move-result v0

    if-eqz v0, :cond_1

    .line 561
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v0

    invoke-virtual {v0}, Lcom/glympse/platform/Platform;->IsWatching()Z

    move-result v0

    if-nez v0, :cond_1

    .line 564
    const-wide/16 v0, 0x0

    iget-wide v2, p0, Lcom/glympse/platform/common/ServerPost;->m_lFailStartTime:J

    cmp-long v0, v0, v2

    if-eqz v0, :cond_0

    invoke-static {}, Lcom/glympse/platform/common/CorrectedTime;->GetTime()J

    move-result-wide v0

    iget-wide v2, p0, Lcom/glympse/platform/common/ServerPost;->m_lFailStartTime:J

    sub-long/2addr v0, v2

    const-wide/32 v2, 0x493e0

    cmp-long v0, v0, v2

    if-gez v0, :cond_0

    .line 565
    iget-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentencesPost:Ljava/lang/StringBuffer;

    invoke-virtual {v0}, Ljava/lang/StringBuffer;->length()I

    move-result v0

    if-gtz v0, :cond_1

    .line 566
    iget-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_listLocPointsPost:Lcom/glympse/platform/GVector$LocPoints;

    invoke-virtual {v0}, Lcom/glympse/platform/GVector$LocPoints;->isEmpty()Z

    move-result v0

    if-eqz v0, :cond_1

    :cond_0
    const/4 v0, 0x0

    :goto_0
    return v0

    :cond_1
    const/4 v0, 0x1

    .line 558
    goto :goto_0
.end method

.method public NewLocation(Lcom/glympse/platform/common/LocPoint;)V
    .locals 11
    .parameter "oLocPoint"

    .prologue
    const-wide v9, 0x412e848000000000L

    .line 1131
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v0

    iget-object v0, v0, Lcom/glympse/platform/Platform;->m_oConfig:Lcom/glympse/platform/Config;

    iget-boolean v0, v0, Lcom/glympse/platform/Config;->m_fShareMyLocation:Z

    if-eqz v0, :cond_0

    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v0

    iget-object v0, v0, Lcom/glympse/platform/Platform;->m_oSentTickets:Lcom/glympse/platform/common/SentTicketList;

    invoke-virtual {v0}, Lcom/glympse/platform/common/SentTicketList;->AnyActive()Z

    move-result v0

    if-eqz v0, :cond_0

    .line 1134
    invoke-static {}, Lcom/glympse/platform/common/CorrectedTime;->GetTime()J

    move-result-wide v5

    .line 1137
    .local v5, lCurrentTime:J
    iget-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_oTrackLocal:Lcom/glympse/platform/common/Track;

    invoke-virtual {p1}, Lcom/glympse/platform/common/LocPoint;->GetTime()J

    move-result-wide v1

    .line 1138
    iget-wide v3, p1, Lcom/glympse/platform/common/LocPoint;->m_dLatitude:D

    mul-double/2addr v3, v9

    double-to-int v3, v3

    .line 1139
    iget-wide v7, p1, Lcom/glympse/platform/common/LocPoint;->m_dLongitude:D

    mul-double/2addr v7, v9

    double-to-int v4, v7

    .line 1137
    invoke-virtual/range {v0 .. v6}, Lcom/glympse/platform/common/Track;->AddLocation(JIIJ)Z

    .line 1144
    iget-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_oTrackLocal:Lcom/glympse/platform/common/Track;

    const/4 v1, 0x0

    invoke-virtual {v0, v5, v6, v1}, Lcom/glympse/platform/common/Track;->RemoveOldLocations(JZ)Z

    .line 1146
    iget-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_listLocPoints:Lcom/glympse/platform/GVector$LocPoints;

    monitor-enter v0

    .line 1148
    :try_start_0
    iget-object v1, p0, Lcom/glympse/platform/common/ServerPost;->m_listLocPoints:Lcom/glympse/platform/GVector$LocPoints;

    invoke-virtual {v1, p1}, Lcom/glympse/platform/GVector$LocPoints;->addElement(Ljava/lang/Object;)V

    .line 1146
    monitor-exit v0

    .line 1151
    .end local v5           #lCurrentTime:J
    :cond_0
    return-void

    .line 1146
    .restart local v5       #lCurrentTime:J
    :catchall_0
    move-exception v1

    monitor-exit v0
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    throw v1
.end method

.method protected PhoneSession()V
    .locals 15

    .prologue
    const/4 v14, 0x0

    .line 754
    const/16 v0, 0x20

    iput v0, p0, Lcom/glympse/platform/common/ServerPost;->m_nPostResultFlag:I

    .line 757
    iget-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentences:Ljava/lang/StringBuffer;

    monitor-enter v0

    .line 759
    :try_start_0
    iget-object v12, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentencesPost:Ljava/lang/StringBuffer;

    iget-object v13, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentences:Ljava/lang/StringBuffer;

    invoke-virtual {v12, v13}, Ljava/lang/StringBuffer;->append(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;

    .line 760
    iget-object v12, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentences:Ljava/lang/StringBuffer;

    const/4 v13, 0x0

    invoke-virtual {v12, v13}, Ljava/lang/StringBuffer;->setLength(I)V

    .line 762
    iget-wide v12, p0, Lcom/glympse/platform/common/ServerPost;->m_lLastSmsTime:J

    iput-wide v12, p0, Lcom/glympse/platform/common/ServerPost;->m_lLastSmsTimePost:J

    .line 763
    const-wide/16 v12, 0x0

    iput-wide v12, p0, Lcom/glympse/platform/common/ServerPost;->m_lLastSmsTime:J

    .line 757
    monitor-exit v0
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0

    .line 767
    iget-object v12, p0, Lcom/glympse/platform/common/ServerPost;->m_listLocPoints:Lcom/glympse/platform/GVector$LocPoints;

    monitor-enter v12

    .line 769
    :goto_0
    :try_start_1
    iget-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_listLocPoints:Lcom/glympse/platform/GVector$LocPoints;

    invoke-virtual {v0}, Lcom/glympse/platform/GVector$LocPoints;->isEmpty()Z

    move-result v0

    if-eqz v0, :cond_3

    .line 767
    monitor-exit v12
    :try_end_1
    .catchall {:try_start_1 .. :try_end_1} :catchall_1

    .line 777
    new-instance v1, Ljava/lang/StringBuffer;

    iget-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_listLocPointsPost:Lcom/glympse/platform/GVector$LocPoints;

    invoke-virtual {v0}, Lcom/glympse/platform/GVector$LocPoints;->size()I

    move-result v0

    mul-int/lit8 v0, v0, 0x2d

    add-int/lit16 v0, v0, 0x400

    invoke-direct {v1, v0}, Ljava/lang/StringBuffer;-><init>(I)V

    .line 780
    .local v1, strbldPost:Ljava/lang/StringBuffer;
    iget-boolean v0, p0, Lcom/glympse/platform/common/ServerPost;->m_fSendInitial:Z

    if-eqz v0, :cond_0

    .line 782
    const-string v0, "I\nSP,ft:true\nSP,utid:true\n"

    invoke-virtual {v1, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;

    .line 786
    :cond_0
    iget-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentencesPost:Ljava/lang/StringBuffer;

    invoke-virtual {v0}, Ljava/lang/StringBuffer;->length()I

    move-result v0

    if-lez v0, :cond_1

    .line 788
    iget-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentencesPost:Ljava/lang/StringBuffer;

    invoke-virtual {v1, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;

    .line 791
    :cond_1
    const/4 v6, 0x0

    .line 792
    .local v6, fTimeFixedPrev:Z
    const/4 v5, 0x0

    .line 793
    .local v5, oDateTimePrev:Lcom/glympse/platform/common/GDateTime;
    const/4 v7, 0x0

    .line 796
    .local v7, oLocPointPrev:Lcom/glympse/platform/common/LocPoint;
    iget-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_listLocPointsPost:Lcom/glympse/platform/GVector$LocPoints;

    invoke-virtual {v0}, Lcom/glympse/platform/GVector$LocPoints;->elements()Ljava/util/Enumeration;

    move-result-object v9

    .local v9, iter:Ljava/util/Enumeration;
    :goto_1
    invoke-interface {v9}, Ljava/util/Enumeration;->hasMoreElements()Z

    move-result v0

    if-nez v0, :cond_4

    .line 819
    iget-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_oPostJob:Lcom/glympse/platform/common/ServerPost$PostJob;

    new-instance v12, Ljava/lang/StringBuilder;

    invoke-virtual {p0}, Lcom/glympse/platform/common/ServerPost;->GetSessionUrl()Ljava/lang/String;

    move-result-object v13

    invoke-static {v13}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v13

    invoke-direct {v12, v13}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    const-string v13, "PhoneSession/"

    invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v12

    invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v12

    iput-object v12, v0, Lcom/glympse/platform/common/ServerPost$PostJob;->m_strUrl:Ljava/lang/String;

    .line 824
    :try_start_2
    iget-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_oPostJob:Lcom/glympse/platform/common/ServerPost$PostJob;

    invoke-virtual {v1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;

    move-result-object v12

    const-string v13, "UTF-8"

    invoke-virtual {v12, v13}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B

    move-result-object v12

    invoke-virtual {v0, v12}, Lcom/glympse/platform/common/ServerPost$PostJob;->SetPostData([B)V
    :try_end_2
    .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_2} :catch_0

    .line 830
    :goto_2
    iget-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_oPostJob:Lcom/glympse/platform/common/ServerPost$PostJob;

    const-string v12, "text/plain; charset=utf-8"

    iput-object v12, v0, Lcom/glympse/platform/common/ServerPost$PostJob;->m_strEncoding:Ljava/lang/String;

    .line 831
    :cond_2
    return-void

    .line 757
    .end local v1           #strbldPost:Ljava/lang/StringBuffer;
    .end local v5           #oDateTimePrev:Lcom/glympse/platform/common/GDateTime;
    .end local v6           #fTimeFixedPrev:Z
    .end local v7           #oLocPointPrev:Lcom/glympse/platform/common/LocPoint;
    .end local v9           #iter:Ljava/util/Enumeration;
    :catchall_0
    move-exception v12

    :try_start_3
    monitor-exit v0
    :try_end_3
    .catchall {:try_start_3 .. :try_end_3} :catchall_0

    throw v12

    .line 771
    :cond_3
    :try_start_4
    iget-object v13, p0, Lcom/glympse/platform/common/ServerPost;->m_listLocPointsPost:Lcom/glympse/platform/GVector$LocPoints;

    iget-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_listLocPoints:Lcom/glympse/platform/GVector$LocPoints;

    invoke-virtual {v0}, Lcom/glympse/platform/GVector$LocPoints;->firstElement()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/glympse/platform/common/LocPoint;

    invoke-virtual {v13, v0}, Lcom/glympse/platform/GVector$LocPoints;->addElement(Ljava/lang/Object;)V

    .line 772
    iget-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_listLocPoints:Lcom/glympse/platform/GVector$LocPoints;

    const/4 v13, 0x0

    invoke-virtual {v0, v13}, Lcom/glympse/platform/GVector$LocPoints;->removeElementAt(I)V

    goto/16 :goto_0

    .line 767
    :catchall_1
    move-exception v0

    monitor-exit v12
    :try_end_4
    .catchall {:try_start_4 .. :try_end_4} :catchall_1

    throw v0

    .line 798
    .restart local v1       #strbldPost:Ljava/lang/StringBuffer;
    .restart local v5       #oDateTimePrev:Lcom/glympse/platform/common/GDateTime;
    .restart local v6       #fTimeFixedPrev:Z
    .restart local v7       #oLocPointPrev:Lcom/glympse/platform/common/LocPoint;
    .restart local v9       #iter:Ljava/util/Enumeration;
    :cond_4
    invoke-interface {v9}, Ljava/util/Enumeration;->nextElement()Ljava/lang/Object;

    move-result-object v4

    check-cast v4, Lcom/glympse/platform/common/LocPoint;

    .line 801
    .local v4, oLocPointCur:Lcom/glympse/platform/common/LocPoint;
    iget-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_oPostJob:Lcom/glympse/platform/common/ServerPost$PostJob;

    iget-boolean v0, v0, Lcom/glympse/platform/common/ServerPost$PostJob;->m_fAbort:Z

    if-nez v0, :cond_2

    .line 806
    invoke-virtual {v4}, Lcom/glympse/platform/common/LocPoint;->GetTime()J

    move-result-wide v10

    .line 807
    .local v10, lTimeCur:J
    iget-wide v12, v4, Lcom/glympse/platform/common/LocPoint;->m_lLocationTime:J

    cmp-long v0, v10, v12

    if-eqz v0, :cond_5

    const/4 v0, 0x1

    move v3, v0

    .line 808
    .local v3, fTimeFixedCur:Z
    :goto_3
    new-instance v2, Lcom/glympse/platform/common/GDateTime;

    invoke-direct {v2, v10, v11}, Lcom/glympse/platform/common/GDateTime;-><init>(J)V

    .local v2, oDateTimeCur:Lcom/glympse/platform/common/GDateTime;
    move-object v0, p0

    .line 811
    invoke-virtual/range {v0 .. v7}, Lcom/glympse/platform/common/ServerPost;->AddLocation(Ljava/lang/StringBuffer;Lcom/glympse/platform/common/GDateTime;ZLcom/glympse/platform/common/LocPoint;Lcom/glympse/platform/common/GDateTime;ZLcom/glympse/platform/common/LocPoint;)V

    .line 814
    move v6, v3

    .line 815
    move-object v5, v2

    .line 816
    move-object v7, v4

    goto :goto_1

    .end local v2           #oDateTimeCur:Lcom/glympse/platform/common/GDateTime;
    .end local v3           #fTimeFixedCur:Z
    :cond_5
    move v3, v14

    .line 807
    goto :goto_3

    .line 826
    .end local v4           #oLocPointCur:Lcom/glympse/platform/common/LocPoint;
    .end local v10           #lTimeCur:J
    :catch_0
    move-exception v0

    move-object v8, v0

    .line 828
    .local v8, e:Ljava/lang/Exception;
    invoke-static {v8}, Lcom/glympse/platform/common/Helpers;->Log(Ljava/lang/Throwable;)V

    goto :goto_2
.end method

.method protected PostComplete()V
    .locals 8

    .prologue
    const/4 v4, 0x2

    const/4 v7, 0x1

    const-wide/16 v5, 0x0

    .line 836
    iget-boolean v1, p0, Lcom/glympse/platform/common/ServerPost;->m_fPostWhenPossible:Z

    .line 841
    .local v1, fPostAgain:Z
    :try_start_0
    iget-object v2, p0, Lcom/glympse/platform/common/ServerPost;->m_oPostJob:Lcom/glympse/platform/common/ServerPost$PostJob;

    iget-boolean v2, v2, Lcom/glympse/platform/common/ServerPost$PostJob;->m_fSuccess:Z

    if-eqz v2, :cond_9

    .line 844
    iget-object v2, p0, Lcom/glympse/platform/common/ServerPost;->m_oPostJob:Lcom/glympse/platform/common/ServerPost$PostJob;

    iget-object v2, v2, Lcom/glympse/platform/common/ServerPost$PostJob;->m_abResponse:[B

    if-eqz v2, :cond_0

    iget-object v2, p0, Lcom/glympse/platform/common/ServerPost;->m_oPostJob:Lcom/glympse/platform/common/ServerPost$PostJob;

    iget-object v2, v2, Lcom/glympse/platform/common/ServerPost$PostJob;->m_abResponse:[B

    array-length v2, v2

    if-le v2, v7, :cond_0

    .line 848
    new-instance v2, Lcom/glympse/platform/common/CharArrayPointer;

    iget-object v3, p0, Lcom/glympse/platform/common/ServerPost;->m_oPostJob:Lcom/glympse/platform/common/ServerPost$PostJob;

    iget-object v3, v3, Lcom/glympse/platform/common/ServerPost$PostJob;->m_abResponse:[B

    invoke-direct {v2, v3}, Lcom/glympse/platform/common/CharArrayPointer;-><init>([B)V

    invoke-virtual {p0, v2}, Lcom/glympse/platform/common/ServerPost;->ProcessResponse(Lcom/glympse/platform/common/CharArrayPointer;)V

    .line 852
    :cond_0
    iget v2, p0, Lcom/glympse/platform/common/ServerPost;->m_nPostResultFlag:I

    if-ne v4, v2, :cond_5

    .line 856
    iget-object v2, p0, Lcom/glympse/platform/common/ServerPost;->m_strUserId:Ljava/lang/String;

    invoke-static {v2}, Lcom/glympse/platform/common/Helpers;->IsEmpty(Ljava/lang/String;)Z

    move-result v2

    if-nez v2, :cond_1

    iget-object v2, p0, Lcom/glympse/platform/common/ServerPost;->m_strPassword:Ljava/lang/String;

    invoke-static {v2}, Lcom/glympse/platform/common/Helpers;->IsEmpty(Ljava/lang/String;)Z

    move-result v2

    if-nez v2, :cond_1

    .line 858
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v2

    iget v3, v2, Lcom/glympse/platform/Platform;->m_nUpdateFlags:I

    or-int/lit8 v3, v3, 0x1

    iput v3, v2, Lcom/glympse/platform/Platform;->m_nUpdateFlags:I

    .line 859
    const/4 v2, 0x0

    iput v2, p0, Lcom/glympse/platform/common/ServerPost;->m_nPostResultFlag:I

    .line 860
    const/4 v2, 0x0

    iput v2, p0, Lcom/glympse/platform/common/ServerPost;->m_nFailures:I

    .line 861
    const-wide/16 v2, 0x0

    iput-wide v2, p0, Lcom/glympse/platform/common/ServerPost;->m_lFailStartTime:J

    .line 863
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v2

    iget-object v2, v2, Lcom/glympse/platform/Platform;->m_oConfig:Lcom/glympse/platform/Config;

    iget-object v3, p0, Lcom/glympse/platform/common/ServerPost;->m_strUserId:Ljava/lang/String;

    iget-object v4, p0, Lcom/glympse/platform/common/ServerPost;->m_strPassword:Ljava/lang/String;

    invoke-virtual {v2, v3, v4}, Lcom/glympse/platform/Config;->SetGlympseCredentials(Ljava/lang/String;Ljava/lang/String;)V

    .line 865
    const/4 v1, 0x1

    .line 941
    :cond_1
    :goto_0
    iget v2, p0, Lcom/glympse/platform/common/ServerPost;->m_nPostResultFlag:I

    if-eqz v2, :cond_3

    .line 944
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v2

    iget v3, v2, Lcom/glympse/platform/Platform;->m_nUpdateFlags:I

    iget v4, p0, Lcom/glympse/platform/common/ServerPost;->m_nPostResultFlag:I

    or-int/2addr v3, v4

    iput v3, v2, Lcom/glympse/platform/Platform;->m_nUpdateFlags:I

    .line 945
    const/4 v2, 0x0

    iput v2, p0, Lcom/glympse/platform/common/ServerPost;->m_nPostResultFlag:I

    .line 946
    iget v2, p0, Lcom/glympse/platform/common/ServerPost;->m_nFailures:I

    add-int/lit8 v2, v2, 0x1

    iput v2, p0, Lcom/glympse/platform/common/ServerPost;->m_nFailures:I

    if-ne v7, v2, :cond_2

    .line 948
    invoke-static {}, Lcom/glympse/platform/common/CorrectedTime;->GetTime()J

    move-result-wide v2

    iput-wide v2, p0, Lcom/glympse/platform/common/ServerPost;->m_lFailStartTime:J

    .line 952
    :cond_2
    const/4 v2, 0x0

    iput-object v2, p0, Lcom/glympse/platform/common/ServerPost;->m_strSession:Ljava/lang/String;

    .line 953
    const/4 v2, 0x0

    iput-object v2, p0, Lcom/glympse/platform/common/ServerPost;->m_strSessionHost:Ljava/lang/String;

    .line 954
    const/4 v2, 0x1

    iput-boolean v2, p0, Lcom/glympse/platform/common/ServerPost;->m_fSendInitial:Z

    .line 958
    :cond_3
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v2

    iget v2, v2, Lcom/glympse/platform/Platform;->m_nUpdateFlags:I

    if-eqz v2, :cond_4

    .line 960
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v2

    const/4 v3, 0x0

    invoke-virtual {v2, v3}, Lcom/glympse/platform/Platform;->DoUpdate(I)V

    .line 964
    :cond_4
    iget-object v2, p0, Lcom/glympse/platform/common/ServerPost;->m_oPostJob:Lcom/glympse/platform/common/ServerPost$PostJob;

    invoke-virtual {v2}, Lcom/glympse/platform/common/ServerPost$PostJob;->Clear()V

    .line 965
    iget-object v2, p0, Lcom/glympse/platform/common/ServerPost;->m_oPostJob:Lcom/glympse/platform/common/ServerPost$PostJob;

    const/4 v3, 0x0

    iput-object v3, v2, Lcom/glympse/platform/common/ServerPost$PostJob;->m_strEncoding:Ljava/lang/String;
    :try_end_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0

    .line 974
    if-eqz v1, :cond_d

    .line 976
    invoke-virtual {p0}, Lcom/glympse/platform/common/ServerPost;->PostNow()V

    .line 983
    :goto_1
    return-void

    .line 870
    :cond_5
    const/16 v2, 0x8

    :try_start_1
    iget v3, p0, Lcom/glympse/platform/common/ServerPost;->m_nPostResultFlag:I

    if-ne v2, v3, :cond_6

    .line 874
    iget-object v2, p0, Lcom/glympse/platform/common/ServerPost;->m_strSession:Ljava/lang/String;

    invoke-static {v2}, Lcom/glympse/platform/common/Helpers;->IsEmpty(Ljava/lang/String;)Z

    move-result v2

    if-nez v2, :cond_1

    .line 876
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v2

    iget v3, v2, Lcom/glympse/platform/Platform;->m_nUpdateFlags:I

    or-int/lit8 v3, v3, 0x4

    iput v3, v2, Lcom/glympse/platform/Platform;->m_nUpdateFlags:I

    .line 877
    const/4 v2, 0x0

    iput v2, p0, Lcom/glympse/platform/common/ServerPost;->m_nPostResultFlag:I

    .line 878
    const/4 v2, 0x0

    iput v2, p0, Lcom/glympse/platform/common/ServerPost;->m_nFailures:I

    .line 879
    const-wide/16 v2, 0x0

    iput-wide v2, p0, Lcom/glympse/platform/common/ServerPost;->m_lFailStartTime:J

    .line 881
    const/4 v1, 0x1

    goto :goto_0

    .line 886
    :cond_6
    const/16 v2, 0x20

    iget v3, p0, Lcom/glympse/platform/common/ServerPost;->m_nPostResultFlag:I

    if-ne v2, v3, :cond_1

    .line 889
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v2

    invoke-virtual {v2}, Lcom/glympse/platform/Platform;->IsSignedIn()Z

    move-result v2

    if-eqz v2, :cond_1

    .line 892
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v2

    iget v3, v2, Lcom/glympse/platform/Platform;->m_nUpdateFlags:I

    or-int/lit8 v3, v3, 0x10

    iput v3, v2, Lcom/glympse/platform/Platform;->m_nUpdateFlags:I

    .line 893
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v2

    invoke-static {}, Lcom/glympse/platform/common/CorrectedTime;->GetTime()J

    move-result-wide v3

    iput-wide v3, v2, Lcom/glympse/platform/Platform;->m_lLastSessionTimestamp:J

    .line 894
    const/4 v2, 0x0

    iput v2, p0, Lcom/glympse/platform/common/ServerPost;->m_nPostResultFlag:I

    .line 895
    const/4 v2, 0x0

    iput v2, p0, Lcom/glympse/platform/common/ServerPost;->m_nFailures:I

    .line 896
    const-wide/16 v2, 0x0

    iput-wide v2, p0, Lcom/glympse/platform/common/ServerPost;->m_lFailStartTime:J

    .line 899
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v2

    iget-boolean v2, v2, Lcom/glympse/platform/Platform;->m_fInitalPacketReceived:Z

    if-nez v2, :cond_7

    .line 901
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v2

    const/4 v3, 0x1

    iput-boolean v3, v2, Lcom/glympse/platform/Platform;->m_fInitalPacketReceived:Z

    .line 902
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v2

    iget v3, v2, Lcom/glympse/platform/Platform;->m_nUpdateFlags:I

    or-int/lit16 v3, v3, 0x100

    iput v3, v2, Lcom/glympse/platform/Platform;->m_nUpdateFlags:I

    .line 906
    :cond_7
    const/4 v2, 0x0

    iput-boolean v2, p0, Lcom/glympse/platform/common/ServerPost;->m_fSendInitial:Z

    .line 909
    iget-object v2, p0, Lcom/glympse/platform/common/ServerPost;->m_strbldSentencesPost:Ljava/lang/StringBuffer;

    const/4 v3, 0x0

    invoke-virtual {v2, v3}, Ljava/lang/StringBuffer;->setLength(I)V

    .line 914
    iget-wide v2, p0, Lcom/glympse/platform/common/ServerPost;->m_lLastSmsTimePost:J

    cmp-long v2, v2, v5

    if-lez v2, :cond_8

    iget-wide v2, p0, Lcom/glympse/platform/common/ServerPost;->m_lLastSmsTimePost:J

    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v4

    iget-object v4, v4, Lcom/glympse/platform/Platform;->m_oConfig:Lcom/glympse/platform/Config;

    iget-wide v4, v4, Lcom/glympse/platform/Config;->m_lLastScannedSmsTime:J

    cmp-long v2, v2, v4

    if-lez v2, :cond_8

    .line 916
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v2

    iget-object v2, v2, Lcom/glympse/platform/Platform;->m_oConfig:Lcom/glympse/platform/Config;

    iget-wide v3, p0, Lcom/glympse/platform/common/ServerPost;->m_lLastSmsTimePost:J

    iput-wide v3, v2, Lcom/glympse/platform/Config;->m_lLastScannedSmsTime:J

    .line 917
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v2

    iget-object v2, v2, Lcom/glympse/platform/Platform;->m_oConfig:Lcom/glympse/platform/Config;

    invoke-virtual {v2}, Lcom/glympse/platform/Config;->Save()V

    .line 919
    :cond_8
    const-wide/16 v2, 0x0

    iput-wide v2, p0, Lcom/glympse/platform/common/ServerPost;->m_lLastSmsTimePost:J

    .line 922
    iget-object v2, p0, Lcom/glympse/platform/common/ServerPost;->m_listLocPointsPost:Lcom/glympse/platform/GVector$LocPoints;

    invoke-virtual {v2}, Lcom/glympse/platform/GVector$LocPoints;->removeAllElements()V
    :try_end_1
    .catchall {:try_start_1 .. :try_end_1} :catchall_0
    .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_0

    goto/16 :goto_0

    .line 967
    :catch_0
    move-exception v2

    move-object v0, v2

    .line 969
    .local v0, e:Ljava/lang/Exception;
    :try_start_2
    invoke-static {v0}, Lcom/glympse/platform/common/Helpers;->Log(Ljava/lang/Throwable;)V
    :try_end_2
    .catchall {:try_start_2 .. :try_end_2} :catchall_0

    .line 974
    if-eqz v1, :cond_b

    .line 976
    invoke-virtual {p0}, Lcom/glympse/platform/common/ServerPost;->PostNow()V

    goto/16 :goto_1

    .line 933
    .end local v0           #e:Ljava/lang/Exception;
    :cond_9
    const/16 v2, 0x8

    :try_start_3
    iget v3, p0, Lcom/glympse/platform/common/ServerPost;->m_nPostResultFlag:I

    if-eq v2, v3, :cond_a

    .line 934
    const/16 v2, 0x20

    iget v3, p0, Lcom/glympse/platform/common/ServerPost;->m_nPostResultFlag:I

    if-ne v2, v3, :cond_1

    .line 935
    :cond_a
    iget v2, p0, Lcom/glympse/platform/common/ServerPost;->m_nFailures:I
    :try_end_3
    .catchall {:try_start_3 .. :try_end_3} :catchall_0
    .catch Ljava/lang/Exception; {:try_start_3 .. :try_end_3} :catch_0

    if-ge v2, v4, :cond_1

    .line 937
    const/4 v1, 0x1

    goto/16 :goto_0

    .line 980
    .restart local v0       #e:Ljava/lang/Exception;
    :cond_b
    invoke-virtual {p0}, Lcom/glympse/platform/common/ServerPost;->StartPostTimer()V

    goto/16 :goto_1

    .line 972
    .end local v0           #e:Ljava/lang/Exception;
    :catchall_0
    move-exception v2

    .line 974
    if-eqz v1, :cond_c

    .line 976
    invoke-virtual {p0}, Lcom/glympse/platform/common/ServerPost;->PostNow()V

    .line 982
    :goto_2
    throw v2

    .line 980
    :cond_c
    invoke-virtual {p0}, Lcom/glympse/platform/common/ServerPost;->StartPostTimer()V

    goto :goto_2

    :cond_d
    invoke-virtual {p0}, Lcom/glympse/platform/common/ServerPost;->StartPostTimer()V

    goto/16 :goto_1
.end method

.method public PostNow()V
    .locals 1

    .prologue
    .line 512
    const/4 v0, 0x1

    iput-boolean v0, p0, Lcom/glympse/platform/common/ServerPost;->m_fPostWhenPossible:Z

    .line 513
    invoke-virtual {p0}, Lcom/glympse/platform/common/ServerPost;->DoPost()V

    .line 514
    return-void
.end method

.method protected ProcessResponse(Lcom/glympse/platform/common/CharArrayPointer;)V
    .locals 7
    .parameter "cap"

    .prologue
    const/4 v6, 0x1

    .line 991
    :try_start_0
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v3

    iget-boolean v3, v3, Lcom/glympse/platform/Platform;->m_fSigninCalled:Z

    if-nez v3, :cond_2

    .line 993
    const-string v3, "ServerPost::ProcessResponse() bailing because we are not signed in"

    invoke-static {v3}, Lcom/glympse/platform/common/Helpers;->Log(Ljava/lang/String;)V

    .line 1124
    :goto_0
    return-void

    .line 1001
    :cond_0
    invoke-static {p1}, Lcom/glympse/platform/common/Helpers;->ParseNameValuePairs(Lcom/glympse/platform/common/CharArrayPointer;)Lcom/glympse/platform/GVector$NameValueNodes;

    move-result-object v1

    .line 1004
    .local v1, listNameValues:Lcom/glympse/platform/GVector$NameValueNodes;,"Lcom/glympse/platform/GVector$NameValueNodes;"
    if-eqz v1, :cond_1

    invoke-virtual {v1}, Lcom/glympse/platform/GVector$NameValueNodes;->isEmpty()Z

    move-result v3

    if-nez v3, :cond_1

    invoke-virtual {v1}, Lcom/glympse/platform/GVector$NameValueNodes;->firstElement()Ljava/lang/Object;

    move-result-object v3

    check-cast v3, Lcom/glympse/platform/common/NameValueNode;

    iget-object v3, v3, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    if-eqz v3, :cond_1

    .line 1006
    invoke-virtual {v1}, Lcom/glympse/platform/GVector$NameValueNodes;->firstElement()Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Lcom/glympse/platform/common/NameValueNode;

    .line 1007
    .local v2, oNodeFirst:Lcom/glympse/platform/common/NameValueNode;
    iget-object v3, v2, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;
    :try_end_0
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0

    if-eqz v3, :cond_1

    .line 1018
    :try_start_1
    iget-object v3, v2, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    const-string v4, "V"

    invoke-virtual {v3, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v3

    if-eqz v3, :cond_3

    .line 1020
    invoke-virtual {p0, v1}, Lcom/glympse/platform/common/ServerPost;->ProcessSentenceV(Lcom/glympse/platform/GVector$NameValueNodes;)V
    :try_end_1
    .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_1

    .line 1104
    .end local v2           #oNodeFirst:Lcom/glympse/platform/common/NameValueNode;
    :cond_1
    :goto_1
    :try_start_2
    invoke-virtual {p1}, Lcom/glympse/platform/common/CharArrayPointer;->IsLineEnd()Z

    move-result v3

    if-eqz v3, :cond_f

    .line 1110
    :goto_2
    invoke-virtual {p1}, Lcom/glympse/platform/common/CharArrayPointer;->IsSpace()Z

    move-result v3

    if-nez v3, :cond_10

    .line 998
    .end local v1           #listNameValues:Lcom/glympse/platform/GVector$NameValueNodes;,"Lcom/glympse/platform/GVector$NameValueNodes;"
    :cond_2
    invoke-virtual {p1}, Lcom/glympse/platform/common/CharArrayPointer;->IsEnd()Z

    move-result v3

    if-eqz v3, :cond_0

    .line 1117
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v3

    iget-object v3, v3, Lcom/glympse/platform/Platform;->m_oUserList:Lcom/glympse/platform/common/UserList;

    invoke-virtual {v3}, Lcom/glympse/platform/common/UserList;->ProcessDone()V

    .line 1118
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v3

    iget-object v3, v3, Lcom/glympse/platform/Platform;->m_oSentTickets:Lcom/glympse/platform/common/SentTicketList;

    const/16 v4, 0x20

    iget v5, p0, Lcom/glympse/platform/common/ServerPost;->m_nPostResultFlag:I

    if-ne v4, v5, :cond_11

    move v4, v6

    :goto_3
    invoke-virtual {v3, v4}, Lcom/glympse/platform/common/SentTicketList;->ProcessDone(Z)V
    :try_end_2
    .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_2} :catch_0

    goto :goto_0

    .line 1120
    :catch_0
    move-exception v3

    move-object v0, v3

    .line 1122
    .local v0, e:Ljava/lang/Exception;
    invoke-static {v0}, Lcom/glympse/platform/common/Helpers;->Log(Ljava/lang/Throwable;)V

    goto :goto_0

    .line 1024
    .end local v0           #e:Ljava/lang/Exception;
    .restart local v1       #listNameValues:Lcom/glympse/platform/GVector$NameValueNodes;,"Lcom/glympse/platform/GVector$NameValueNodes;"
    .restart local v2       #oNodeFirst:Lcom/glympse/platform/common/NameValueNode;
    :cond_3
    :try_start_3
    iget-object v3, v2, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    const-string v4, "GLYMPSE_UserID"

    invoke-virtual {v3, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v3

    if-eqz v3, :cond_4

    .line 1026
    const/4 v3, 0x1

    invoke-virtual {v1, v3}, Lcom/glympse/platform/GVector$NameValueNodes;->elementAt(I)Ljava/lang/Object;

    move-result-object v3

    check-cast v3, Lcom/glympse/platform/common/NameValueNode;

    invoke-virtual {p0, v3}, Lcom/glympse/platform/common/ServerPost;->GetNameValueAsString(Lcom/glympse/platform/common/NameValueNode;)Ljava/lang/String;

    move-result-object v3

    iput-object v3, p0, Lcom/glympse/platform/common/ServerPost;->m_strUserId:Ljava/lang/String;
    :try_end_3
    .catch Ljava/lang/Exception; {:try_start_3 .. :try_end_3} :catch_1

    goto :goto_1

    .line 1096
    :catch_1
    move-exception v3

    move-object v0, v3

    .line 1098
    .restart local v0       #e:Ljava/lang/Exception;
    :try_start_4
    invoke-static {v0}, Lcom/glympse/platform/common/Helpers;->Log(Ljava/lang/Throwable;)V
    :try_end_4
    .catch Ljava/lang/Exception; {:try_start_4 .. :try_end_4} :catch_0

    goto :goto_1

    .line 1030
    .end local v0           #e:Ljava/lang/Exception;
    :cond_4
    :try_start_5
    iget-object v3, v2, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    const-string v4, "GLYMPSE_Password"

    invoke-virtual {v3, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v3

    if-eqz v3, :cond_5

    .line 1032
    const/4 v3, 0x1

    invoke-virtual {v1, v3}, Lcom/glympse/platform/GVector$NameValueNodes;->elementAt(I)Ljava/lang/Object;

    move-result-object v3

    check-cast v3, Lcom/glympse/platform/common/NameValueNode;

    invoke-virtual {p0, v3}, Lcom/glympse/platform/common/ServerPost;->GetNameValueAsString(Lcom/glympse/platform/common/NameValueNode;)Ljava/lang/String;

    move-result-object v3

    iput-object v3, p0, Lcom/glympse/platform/common/ServerPost;->m_strPassword:Ljava/lang/String;

    goto :goto_1

    .line 1036
    :cond_5
    iget-object v3, v2, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    const-string v4, "GLYMPSE_Session"

    invoke-virtual {v3, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v3

    if-eqz v3, :cond_6

    .line 1038
    const/4 v3, 0x1

    invoke-virtual {v1, v3}, Lcom/glympse/platform/GVector$NameValueNodes;->elementAt(I)Ljava/lang/Object;

    move-result-object v3

    check-cast v3, Lcom/glympse/platform/common/NameValueNode;

    invoke-virtual {p0, v3}, Lcom/glympse/platform/common/ServerPost;->GetNameValueAsString(Lcom/glympse/platform/common/NameValueNode;)Ljava/lang/String;

    move-result-object v3

    iput-object v3, p0, Lcom/glympse/platform/common/ServerPost;->m_strSession:Ljava/lang/String;

    goto :goto_1

    .line 1042
    :cond_6
    iget-object v3, v2, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    const-string v4, "GLYMPSE_Session_Host"

    invoke-virtual {v3, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v3

    if-eqz v3, :cond_7

    .line 1044
    const/4 v3, 0x1

    invoke-virtual {v1, v3}, Lcom/glympse/platform/GVector$NameValueNodes;->elementAt(I)Ljava/lang/Object;

    move-result-object v3

    check-cast v3, Lcom/glympse/platform/common/NameValueNode;

    invoke-virtual {p0, v3}, Lcom/glympse/platform/common/ServerPost;->GetNameValueAsString(Lcom/glympse/platform/common/NameValueNode;)Ljava/lang/String;

    move-result-object v3

    iput-object v3, p0, Lcom/glympse/platform/common/ServerPost;->m_strSessionHost:Ljava/lang/String;

    goto/16 :goto_1

    .line 1048
    :cond_7
    iget-object v3, v2, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    const-string v4, "F"

    invoke-virtual {v3, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v3

    if-eqz v3, :cond_8

    .line 1050
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v3

    iget-object v3, v3, Lcom/glympse/platform/Platform;->m_oUserList:Lcom/glympse/platform/common/UserList;

    iget-wide v4, p0, Lcom/glympse/platform/common/ServerPost;->m_lLastPostTime:J

    invoke-virtual {v3, v1, v4, v5}, Lcom/glympse/platform/common/UserList;->ProcessSentenceF(Lcom/glympse/platform/GVector$NameValueNodes;J)Z

    goto/16 :goto_1

    .line 1054
    :cond_8
    iget-object v3, v2, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    const-string v4, "FD"

    invoke-virtual {v3, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v3

    if-eqz v3, :cond_9

    .line 1056
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v3

    iget-object v3, v3, Lcom/glympse/platform/Platform;->m_oUserList:Lcom/glympse/platform/common/UserList;

    invoke-virtual {v3, v1}, Lcom/glympse/platform/common/UserList;->ProcessSentenceFD(Lcom/glympse/platform/GVector$NameValueNodes;)Z

    goto/16 :goto_1

    .line 1060
    :cond_9
    iget-object v3, v2, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    const-string v4, "FT"

    invoke-virtual {v3, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v3

    if-eqz v3, :cond_a

    .line 1062
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v3

    iget-object v3, v3, Lcom/glympse/platform/Platform;->m_oUserList:Lcom/glympse/platform/common/UserList;

    iget-wide v4, p0, Lcom/glympse/platform/common/ServerPost;->m_lLastPostTime:J

    invoke-virtual {v3, v1, v4, v5}, Lcom/glympse/platform/common/UserList;->ProcessSentenceFT(Lcom/glympse/platform/GVector$NameValueNodes;J)Z

    goto/16 :goto_1

    .line 1066
    :cond_a
    iget-object v3, v2, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    const-string v4, "TR"

    invoke-virtual {v3, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v3

    if-eqz v3, :cond_b

    .line 1068
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v3

    iget-object v3, v3, Lcom/glympse/platform/Platform;->m_oUserList:Lcom/glympse/platform/common/UserList;

    invoke-virtual {v3, v1}, Lcom/glympse/platform/common/UserList;->ProcessSentenceTR(Lcom/glympse/platform/GVector$NameValueNodes;)Z

    goto/16 :goto_1

    .line 1072
    :cond_b
    iget-object v3, v2, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    const-string v4, "TG"

    invoke-virtual {v3, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v3

    if-eqz v3, :cond_c

    .line 1074
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v3

    iget-object v3, v3, Lcom/glympse/platform/Platform;->m_oSentTickets:Lcom/glympse/platform/common/SentTicketList;

    invoke-virtual {v3, v1}, Lcom/glympse/platform/common/SentTicketList;->ProcessSentenceTG(Lcom/glympse/platform/GVector$NameValueNodes;)Z

    goto/16 :goto_1

    .line 1078
    :cond_c
    iget-object v3, v2, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    const-string v4, "TS"

    invoke-virtual {v3, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v3

    if-eqz v3, :cond_d

    .line 1080
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v3

    iget-object v3, v3, Lcom/glympse/platform/Platform;->m_oSentTickets:Lcom/glympse/platform/common/SentTicketList;

    invoke-virtual {v3, v1}, Lcom/glympse/platform/common/SentTicketList;->ProcessSentenceTS(Lcom/glympse/platform/GVector$NameValueNodes;)Z

    goto/16 :goto_1

    .line 1084
    :cond_d
    iget-object v3, v2, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    const-string v4, "TD"

    invoke-virtual {v3, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v3

    if-eqz v3, :cond_e

    .line 1086
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v3

    iget-object v3, v3, Lcom/glympse/platform/Platform;->m_oSentTickets:Lcom/glympse/platform/common/SentTicketList;

    invoke-virtual {v3, v1}, Lcom/glympse/platform/common/SentTicketList;->ProcessSentenceTD(Lcom/glympse/platform/GVector$NameValueNodes;)Z

    goto/16 :goto_1

    .line 1090
    :cond_e
    iget-object v3, v2, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    const-string v4, "GLYMPSE_Auth"

    invoke-virtual {v3, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v3

    if-nez v3, :cond_1

    .line 1091
    iget-object v3, v2, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    const-string v4, "GLYMPSE_Cloud_Host"

    invoke-virtual {v3, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v3

    if-nez v3, :cond_1

    .line 1093
    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "Unknown sentence type: "

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    iget-object v4, v2, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v3}, Lcom/glympse/platform/common/Helpers;->Log(Ljava/lang/String;)V
    :try_end_5
    .catch Ljava/lang/Exception; {:try_start_5 .. :try_end_5} :catch_1

    goto/16 :goto_1

    .line 1106
    .end local v2           #oNodeFirst:Lcom/glympse/platform/common/NameValueNode;
    :cond_f
    :try_start_6
    invoke-virtual {p1}, Lcom/glympse/platform/common/CharArrayPointer;->Inc()V

    goto/16 :goto_1

    .line 1112
    :cond_10
    invoke-virtual {p1}, Lcom/glympse/platform/common/CharArrayPointer;->Inc()V
    :try_end_6
    .catch Ljava/lang/Exception; {:try_start_6 .. :try_end_6} :catch_0

    goto/16 :goto_2

    .line 1118
    .end local v1           #listNameValues:Lcom/glympse/platform/GVector$NameValueNodes;,"Lcom/glympse/platform/GVector$NameValueNodes;"
    :cond_11
    const/4 v4, 0x0

    goto/16 :goto_3
.end method

.method protected ProcessSentenceV(Lcom/glympse/platform/GVector$NameValueNodes;)V
    .locals 7
    .parameter

    .prologue
    .local p1, listNameValues:Lcom/glympse/platform/GVector$NameValueNodes;,"Lcom/glympse/platform/GVector$NameValueNodes;"
    const/16 v6, 0x82

    const/4 v5, 0x1

    .line 1216
    const/4 v1, 0x0

    .line 1219
    .local v1, nIntegersFound:I
    invoke-virtual {p1}, Lcom/glympse/platform/GVector$NameValueNodes;->elements()Ljava/util/Enumeration;

    move-result-object v0

    .local v0, iter:Ljava/util/Enumeration;
    :cond_0
    :goto_0
    invoke-interface {v0}, Ljava/util/Enumeration;->hasMoreElements()Z

    move-result v3

    if-nez v3, :cond_1

    .line 1279
    return-void

    .line 1221
    :cond_1
    invoke-interface {v0}, Ljava/util/Enumeration;->nextElement()Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Lcom/glympse/platform/common/NameValueNode;

    .line 1224
    .local v2, oNodeCur:Lcom/glympse/platform/common/NameValueNode;
    iget-object v3, v2, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    if-eqz v3, :cond_0

    .line 1230
    iget-object v3, v2, Lcom/glympse/platform/common/NameValueNode;->m_strName:Ljava/lang/String;

    invoke-static {v3}, Lcom/glympse/platform/common/Helpers;->IsEmpty(Ljava/lang/String;)Z

    move-result v3

    if-eqz v3, :cond_3

    .line 1233
    iget-object v3, v2, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    invoke-virtual {v3}, Ljava/lang/String;->length()I

    move-result v3

    if-lez v3, :cond_0

    iget-object v3, v2, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    const/4 v4, 0x0

    invoke-virtual {v3, v4}, Ljava/lang/String;->charAt(I)C

    move-result v3

    invoke-static {v3}, Ljava/lang/Character;->isDigit(C)Z

    move-result v3

    if-eqz v3, :cond_0

    .line 1236
    if-nez v1, :cond_2

    .line 1238
    iget-object v3, v2, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    invoke-static {v3}, Lcom/glympse/platform/common/Helpers;->ParseInt(Ljava/lang/String;)I

    move-result v3

    iput v3, p0, Lcom/glympse/platform/common/ServerPost;->m_nMinimumBuild:I

    .line 1239
    add-int/lit8 v1, v1, 0x1

    .line 1242
    iget v3, p0, Lcom/glympse/platform/common/ServerPost;->m_nMinimumBuild:I

    if-ge v6, v3, :cond_0

    .line 1244
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v3

    iget v4, v3, Lcom/glympse/platform/Platform;->m_nUpdateFlags:I

    or-int/lit16 v4, v4, 0x80

    iput v4, v3, Lcom/glympse/platform/Platform;->m_nUpdateFlags:I

    goto :goto_0

    .line 1249
    :cond_2
    if-ne v5, v1, :cond_0

    .line 1251
    iget-object v3, v2, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    invoke-static {v3}, Lcom/glympse/platform/common/Helpers;->ParseInt(Ljava/lang/String;)I

    move-result v3

    iput v3, p0, Lcom/glympse/platform/common/ServerPost;->m_nLatestBuild:I

    .line 1252
    add-int/lit8 v1, v1, 0x1

    .line 1258
    iget v3, p0, Lcom/glympse/platform/common/ServerPost;->m_nLatestBuild:I

    if-ge v6, v3, :cond_0

    iget-boolean v3, p0, Lcom/glympse/platform/common/ServerPost;->m_fSentNewVersion:Z

    if-nez v3, :cond_0

    .line 1260
    iput-boolean v5, p0, Lcom/glympse/platform/common/ServerPost;->m_fSentNewVersion:Z

    .line 1261
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v3

    iget v4, v3, Lcom/glympse/platform/Platform;->m_nUpdateFlags:I

    or-int/lit8 v4, v4, 0x40

    iput v4, v3, Lcom/glympse/platform/Platform;->m_nUpdateFlags:I

    goto :goto_0

    .line 1268
    :cond_3
    iget-object v3, v2, Lcom/glympse/platform/common/NameValueNode;->m_strName:Ljava/lang/String;

    const-string v4, "url"

    invoke-virtual {v3, v4}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z

    move-result v3

    if-eqz v3, :cond_4

    .line 1270
    iget-object v3, v2, Lcom/glympse/platform/common/NameValueNode;->m_strValue:Ljava/lang/String;

    iput-object v3, p0, Lcom/glympse/platform/common/ServerPost;->m_strUpgradeUrl:Ljava/lang/String;

    goto :goto_0

    .line 1276
    :cond_4
    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "Unknown version line value found ["

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    iget-object v4, v2, Lcom/glympse/platform/common/NameValueNode;->m_strName:Ljava/lang/String;

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    const-string v4, "]."

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v3}, Lcom/glympse/platform/common/Helpers;->Log(Ljava/lang/String;)V

    goto/16 :goto_0
.end method

.method public Start()V
    .locals 1

    .prologue
    .line 61
    const-string v0, "ServerPost::Start"

    invoke-static {v0}, Lcom/glympse/platform/common/Helpers;->Log(Ljava/lang/String;)V

    .line 64
    invoke-virtual {p0}, Lcom/glympse/platform/common/ServerPost;->PostNow()V

    .line 65
    return-void
.end method

.method protected StartPostTimer()V
    .locals 2

    .prologue
    .line 572
    const/16 v0, 0x82

    iget v1, p0, Lcom/glympse/platform/common/ServerPost;->m_nMinimumBuild:I

    if-lt v0, v1, :cond_1

    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v0

    if-eqz v0, :cond_1

    .line 575
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v0

    invoke-virtual {v0}, Lcom/glympse/platform/Platform;->OkToPost()Z

    move-result v0

    if-nez v0, :cond_0

    invoke-virtual {p0}, Lcom/glympse/platform/common/ServerPost;->HaveReasonToPost()Z

    move-result v0

    if-eqz v0, :cond_1

    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v0

    iget-boolean v0, v0, Lcom/glympse/platform/Platform;->m_fBatteryGood:Z

    if-nez v0, :cond_0

    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v0

    iget-boolean v0, v0, Lcom/glympse/platform/Platform;->m_fBatteryForce:Z

    if-eqz v0, :cond_1

    .line 578
    :cond_0
    iget-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_oPostTimer:Lcom/glympse/platform/common/ServerPost$PostTimer;

    invoke-virtual {v0}, Lcom/glympse/platform/common/ServerPost$PostTimer;->Start()Z

    .line 581
    :cond_1
    return-void
.end method

.method public Stop()V
    .locals 3

    .prologue
    const/4 v2, 0x0

    .line 70
    const-string v0, "ServerPost::Stop"

    invoke-static {v0}, Lcom/glympse/platform/common/Helpers;->Log(Ljava/lang/String;)V

    .line 73
    iget-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_oPostTimer:Lcom/glympse/platform/common/ServerPost$PostTimer;

    invoke-virtual {v0}, Lcom/glympse/platform/common/ServerPost$PostTimer;->Stop()V

    .line 76
    iget-object v0, p0, Lcom/glympse/platform/common/ServerPost;->m_oPostJob:Lcom/glympse/platform/common/ServerPost$PostJob;

    invoke-virtual {v0}, Lcom/glympse/platform/common/ServerPost$PostJob;->IsQueued()Z

    move-result v0

    if-eqz v0, :cond_0

    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v0

    if-eqz v0, :cond_0

    .line 78
    invoke-static {}, Lcom/glympse/platform/Platform;->instance()Lcom/glympse/platform/Platform;

    move-result-object v0

    iget-object v0, v0, Lcom/glympse/platform/Platform;->m_oJobQueue:Lcom/glympse/platform/common/JobQueue;

    iget-object v1, p0, Lcom/glympse/platform/common/ServerPost;->m_oPostJob:Lcom/glympse/platform/common/ServerPost$PostJob;

    invoke-virtual {v0, v1}, Lcom/glympse/platform/common/JobQueue;->RemoveJob(Lcom/glympse/platform/common/JobQueue$Job;)Z

    .line 84
    :cond_0
    iput-object v2, p0, Lcom/glympse/platform/common/ServerPost;->m_strSession:Ljava/lang/String;

    .line 85
    iput-object v2, p0, Lcom/glympse/platform/common/ServerPost;->m_strSessionHost:Ljava/lang/String;

    .line 86
    const/4 v0, 0x1

    iput-boolean v0, p0, Lcom/glympse/platform/common/ServerPost;->m_fSendInitial:Z

    .line 87
    return-void
.end method
